A message consumer binds to a destination on a broker to receive messages. When messages are received, a message consumer acknowledges receipt to the broker according to the parameters set on the session.
Synchronous Message Consumption
A synchronous consumer uses a pull technique to receive messages from a destination.
There are three variations of the receive method, one which never
blocks, one which blocks until it times out, and one which blocks indefinitely (meaning
that the connection could be blocked indefinitely too).
Asynchronous Message Consumption
An asynchronous consumer registers a message listener on a destination. As messages
arrive, the application calls the listener’s onMessage method. When
the connection is broken, messages that are guaranteed to be delivered wait on the
broker for reconnection.
Message Selectors
Message consumers can filter the messages they receive. When a client requests a session to create a consumer on a topic or queue, a message selector string in SQL-92 syntax can be used to indicate qualifications on messages. For example:
“Priority > 7 AND Form = ’Bid’ AND Amount is NOT NULL”.








