Interface ServerSession
-
public interface ServerSession
AServerSession
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 theServerSession
's Jakarta Messaging session.start
- starts the execution of theServerSession
thread and results in the execution of the JMS session'srun
method.
A
ConnectionConsumer
implemented by a Jakarta Messaging provider uses aServerSession
to process one or more messages that have arrived. It does this by getting aServerSession
from theConnectionConsumer
'sServerSessionPool
; getting theServerSession
's Jakarta Messaging session; loading it with the messages; and then starting theServerSession
.In most cases the
ServerSession
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 Jakarta Messaging API does not architect how the
ConnectionConsumer
loads theSession
with messages. Since both theConnectionConsumer
andSession
are implemented by the same Jakarta Messaging provider, they can accomplish the load using a private mechanism.- Since:
- JMS 1.0
- See Also:
ServerSessionPool
,ConnectionConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Session
getSession()
Return theServerSession
'sSession
.void
start()
Cause theSession
'srun
method to be called to process messages that were just assigned to it.
-
-
-
Method Detail
-
getSession
Session getSession() throws JMSException
Return theServerSession
'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
.- Returns:
- the server session's session
- Throws:
JMSException
- if the Jakarta Messaging provider fails to get the associated session for thisServerSession
due to some internal error.
-
start
void start() throws JMSException
Cause theSession
'srun
method to be called to process messages that were just assigned to it.- Throws:
JMSException
- if the Jakarta Messaging provider fails to start the server session to process messages due to some internal error.
-
-