Product: OpenFusion Notification Service
Version: ALL
Description:
Why use Custom Filters?
Resolution:
The Notification Service treats the reliability of specific events, and the reliability of the connections which provide a transport for events between clients of the notification channel and the channel itself, as separate issues, and therefore defines two separate QoS properties to represent them: EventReliability and ConnectionReliability.
Each of these properties can take on one of two possible numeric constant values: BestEffort or Persistent. The meanings associated with the settings of these properties are inter-related, and are defined below.
EventReliability=BestEffort & ConnectionReliability=BestEffort:
No specific delivery guarantees are made. In the presence of failures, the event may or may not be received by each of the consumers, and a given consumer may receive the same event multiple times.
EventReliability=BestEffort & ConnectionReliability=Persistent:
The notification channel will maintain all information about its connected clients persistently, implying that connections will not be lost (logically) upon failure of the process within which the notification channel is executing. Any clients who connect to the channel using persistent object references may fail, but unless these object references raise an OBJECT_NOT_EXIST exception, the channel will continue to retry using them. Clients which then re-instantiate objects with these references will (logically) reconnect to their associated proxies. The channel will not, however, store any buffered events persistently. The implication of this combination is that upon restart from a failure of the notification channel server process, the channel will automatically re-establish connections to each of its clients, but will not attempt to retransmit any events that had been buffered at the time the failure occurred.
EventReliability=Persistent & ConnectionReliability=BestEffort:
This combination has no meaning and need not be supported by a conformant Notification Service implementation.
EventReliability=Persisent & ConnectionReliability=Persistent:
Each event is guaranteed to be delivered to all consumers registered to receive it at the time the event was delivered to the channel, within expiry limits. If the connection between the channel and a consumer is lost for any reason, the channel will persistently store any events destined for that consumer until either each event times out due to expiry limits, or the consumer once again becomes available and the channel is subsequently able to deliver the events to all registered consumers. In addition, upon restart from a failure the notification channel will automatically re-establish connections to all clients that were connected to it at the time the failure occurred.
#OpenFusion
#KnowledgeDocs