Try OpenEdge Now
skip to main content
Messaging and ESB
Implementing Messaging : Transaction and recovery procedures : Transacted session

Transacted session

A transacted session allows an application to send or receive groups of messages as one atomic operation:
*A session that is transacted for sending guarantees that either all messages in a group are sent, or none is sent
*A session that is transacted for receiving guarantees that a group of received messages are acknowledged only after all messages in the group are successfully processed
The following table lists the methods available for controlling the execution and recovery of transactions.
Table 33. Managing transaction attributes
Rolling back
The typical Java–JMS transacted application uses two sessions, one for transacted sending and one for transacted receiving. The ABL–JMS implementation uses two JMS sessions behind the scenes, but at the ABL API level, there is only one Session object.
The application controls whether sending, receiving, or both are transacted. It makes the session transacted by calling the setTransactedSend procedure, the setTransactedReceive procedure, or both in the Session object.
A session that is transacted for sending, receiving, or both is constantly in a transaction mode. When a transaction is committed or rolled back, a new one is automatically started.
* Transacted sending
* Transacted receiving
* Illegal calls: recover and setNoAcknowledge
* ABL transactions and JMS transacted sessions