The Consumer is responsible for receiving messages from the server.
It is constructed by the Factory interceptor from the session.
It will normally be implemented with at least the following interceptors.
Close interceptor acts as a valve to stop requests on closed objects.
JMSException interceptor turns non JMSExceptions thrown by the generic backend into JMSExceptions.
Consumer interceptor for receiving messages via the session by registering a callback.