JBoss/JMS Session
The Session is responsible for holding state for the browsers, producers and receivers, for which it is also a factory (along with messages).
It is constructed by the Factory interceptor from the connection.
It implements
javax.jms.Session
javax.jms.XASession
javax.jms.QueueSession
javax.jms.XAQueueSession
javax.jms.TopicSession
javax.jms.XATopicSession
Implementation
It will normally be implemented with at least the following interceptors.
Client side:
Close interceptor acts as a valve to stop requests on closed objects.
JMSException interceptor turns non JMSExceptions thrown by the generic backend into JMSExceptions.
Factory interceptor to construct the facades and messaging api containers or message objects.
Session interceptor for handling state.
Transaction interceptor bulks sends and acknowledgements into transaction requests.
Invoker interceptor sends remote requests over the network using the configured protocol.
Server side:
Client interceptor used by the server to keep track of client subscriptions and unacknowledged messages.
Persistence interceptor used by the server to persist sent messages.
Security interceptor used by the server to authenticate/authorise the request.
Comments