com.softwareag.connectivity.control
Event AckRequired


Request from a connectivity chain to the application, asking it to reliably acknowledge all events that came from the chain immediately prior to this AckRequired.

This event will be sent to the default channel of that chain. That is, your EPL will not normally need to subscribe to any extra channels to receive these requests, if it is already receiving regular events from that chain.

A reliable-messaging-aware transport will issue these requests with as large an interval as it can get away with, based on the constraints of the external messaging system. So if your application has a "commit" mechanism that has a large fixed cost (for example, a filesystem sync, a database commit or an expensive computation) then doing a commit and acknowledgment on and only on AckRequired requests makes sense.

Do not rely on these requests being high frequency or timely; the functional behaviour of your application should not depend on them, especially if latency is important. Only the operations required for safely preserving the effect of incoming events should be tied to AckRequired requests.
See Also:
com.softwareag.connectivity.Chain#ackUpTo() - Otherwise, you can use this action to perform per-event acknowledgments if the message id of each incoming event is available.

Member summary
 stringmessageId

The message id of the regular event received immediately before this AckRequired.
 stringchainId

Id of the connectivity chain that this request has come from.
 
Action summary
 voidackUpTo()

Acknowledge all previously received events from the connectivity chain as having been reliably processed by your application.
 
Member detail

chainId

            string chainId
        
Id of the connectivity chain that this request has come from.

messageId

            string messageId
        
The message id of the regular event received immediately before this AckRequired.
Action detail

ackUpTo

            void ackUpTo()
        
Acknowledge all previously received events from the connectivity chain as having been reliably processed by your application.