Skip to content

About Notifications

Concept

The Notification concept was introduced to give the users the right notifications at the right time. Information about new Notifications are pushed from the server to connected clients so that it gives faster notification with less overhead on the application.

How it Works

Notification functionality uses an Oracle JMS Advanced Queue, a Scheduled Java POJO connected the queue and Web Sockets. The following illustration shows how the functionality works.

Notifications is used by other functionalities such as Object Subscription, Event Actions, Background Jobs and Reports and Task to create client notifications.

All these functionalities create Notifications through Fnd_Stream_API.New_Stream_Item which insert records into the FND_STREAM_TAB and put Oracle DBMS pipe messages to the queue CLIENT_NOTIF_Q. A scheduled Java POJO running on the middle-tier polls the queue and when a new notification message is queued, this POJO proocesses the message. If the Notification is for a user who is currently connected, (has an active websocket connection) then a notification is sent to the client through the Web Socket Endpoint. If the user is not connected, then the message will be discarded. When the client receives the push notification via the web socket it issues a query to the database and fetches the new message content. If the Notification panel is closed, then only the new message count is fetched.