The Producer is responsible for sending messages to 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.
Producer interceptor for sending messages via the session.