Using Transacted and/or Client-Acknowledged Sessions

In some cases it may be critical to applications that messages not be lost, in such cases it may be desirable to use transacted and/or client-acknowledged sessions. However, frequent acknowledgements for each and every operation should be avoided.

Requestor Sessions

It is important that different requesters use different sessions. Acknowledging one message acknowledges all currently unacknowledged messages received in the same session.

If multiple requesters use the same session, and one receives its response successfully, while another sees a failure and wishes to recover and re-try, if the first acknowledges before the second can recover, the second requester's message will be acknowledged and purged from Oracle Messaging Cloud Service, and the second requester's re-try will receive a null message.

Responder Sessions

It is important that different responders use different sessions. If multiple responders use the same session, and one has received a request, processed it, and sent the response while another responder has only received a request, committing the session will commit both the first responder's request and response and the second responder's request.