In order to use the messaging capabilities of JMS and Sonic MQ, a connection must be created to the SonicMQ Broker. An active connection receives messages. A session is a single-threaded context for sending and receiving messages. Since ABL is single-threaded, there is no compelling reason for multiple sessions per connection, nor for exposing the distinction between sessions and connections. In the context of the ABL–JMS API, the term session refers to the combination of a session and a connection.
Note: In JMS, a Java client can create several sessions per connection.
When more than one session per connection is required (for example, to send and receive messages concurrently), a second session is used implicitly in the OpenEdge Adapter for SonicMQ, transparent to the ABL programmer.