AServerSession
object is an application server object that is used by a server to associate a thread with a JMS session (optional).
AServerSession
implements two methods:
getSession
- returns theServerSession
's JMS session.start
- starts the execution of theServerSession
thread and results in the execution of the JMS session'srun
method.AConnectionConsumer
implemented by a JMS provider uses aServerSession
to process one or more messages that have arrived. It does this by getting aServerSession
from theConnectionConsumer
'sServerSessionPool
; getting theServerSession
's JMS session; loading it with the messages; and then starting theServerSession
.
In most cases theServerSession
will register some object it provides as theServerSession
's thread run object. TheServerSession
'sstart
method will call the thread'sstart
method, which will start the new thread, and from it, call therun
method of theServerSession
's run object. This object will do some housekeeping and then call theSession
'srun
method. Whenrun
returns, theServerSession
's run object can return theServerSession
to theServerSessionPool
, and the cycle starts again.
Note that the JMS API does not architect how theConnectionConsumer
loads theSession
with messages. Since both theConnectionConsumer
andSession
are implemented by the same JMS provider, they can accomplish the load using a private mechanism.
ServerSessionPool
,ConnectionConsumer
getSession() Return the ServerSession 'sSession . | |
start() Cause the Session 'srun method to be called to process messages that were just assigned to it. |
publicSessiongetSession() throwsJMSException
ServerSession
'sSession
. This must be aSession
created by the sameConnection
that will be dispatching messages to it. The provider will assign one or more messages to theSession
and then callstart
on theServerSession
.JMSException
- if the JMS provider fails to get the associated session for thisServerSession
due to some internal error.public voidstart() throwsJMSException
Session
'srun
method to be called to process messages that were just assigned to it.JMSException
- if the JMS provider fails to start the server session to process messages due to some internal error.