public interface ServerSession
ServerSession object is an application server object that is used by a server to associate a thread with a
Jakarta Messaging session (optional).
A ServerSession implements two methods:
getSession - returns the ServerSession's Jakarta Messaging session.
start - starts the execution of the ServerSession thread and results in the execution of the JMS
session's run method.
A ConnectionConsumer implemented by a Jakarta Messaging provider uses a ServerSession to process one or more
messages that have arrived. It does this by getting a ServerSession from the ConnectionConsumer's
ServerSessionPool; getting the ServerSession's Jakarta Messaging session; loading it with the messages; and then
starting the ServerSession.
In most cases the ServerSession will register some object it provides as the ServerSession's thread
run object. The ServerSession's start method will call the thread's start method, which will
start the new thread, and from it, call the run method of the ServerSession's run object. This object
will do some housekeeping and then call the Session's run method. When run returns, the
ServerSession's run object can return the ServerSession to the ServerSessionPool, and the
cycle starts again.
Note that the Jakarta Messaging API does not architect how the ConnectionConsumer loads the Session with messages.
Since both the ConnectionConsumer and Session are implemented by the same Jakarta Messaging provider, they can
accomplish the load using a private mechanism.
ServerSessionPool,
ConnectionConsumer| Modifier and Type | Method and Description |
|---|---|
Session |
getSession()
Return the
ServerSession's Session. |
void |
start()
Cause the
Session's run method to be called to process messages that were just assigned to it. |
Session getSession() throws JMSException
ServerSession's Session. This must be a Session created by the same
Connection that will be dispatching messages to it. The provider will assign one or more messages to the
Session and then call start on the ServerSession.JMSException - if the Jakarta Messaging provider fails to get the associated session for this ServerSession due to
some internal error.void start()
throws JMSException
Session's run method to be called to process messages that were just assigned to it.JMSException - if the Jakarta Messaging provider fails to start the server session to process messages due to some
internal error.