The Session object procedures use an internal procedure to create a Message Consumer object. The Message Consumer is a JMS messaging object that performs the following:
Receives messages from a destination
Receives asynchronous error messages
The OpenEdge application must set a message handler procedure in a Message Consumer object by implementing an ABL internal procedure with a specific signature.
The OpenEdge Adapter for SonicMQ integrates with ABL event handling. Messages are processed by the Message Consumer when the ABL Virtual Machine (ABL) is in a WAIT–FOR state or other IO-blocking state. While the application is in such a state, all other UI and non-UI events are handled normally. WAIT–FOR can be called explicitly by the ABL code. It can also be called through the waitForMessages procedure in the Session object, which works the same for GUI, character, batch, AppServer, and WebSpeed applications.