|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--org.exolab.jms.client.JmsSession
This class implements a Session interface and supports a single threaded context. A session supports multiple consumers and producers but only within the context of a single thread, which is the thread creating this object. Any attempt to use an instance of this class in a thread, aside from the one that created it will result in a MessageException
| Fields inherited from interface javax.jms.Session |
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE |
| Method Summary | |
void |
acknowledgeMessage(javax.jms.Message message)
Acknowledge the specified message. |
protected void |
addConsumer(JmsMessageConsumer consumer)
Add a consumer to the list of consumers managed by this session |
protected void |
addProducer(JmsMessageProducer producer)
Add a producer to the list of producers managed by this session |
protected void |
checkThreadContext()
This method checks that the thread using this object is indeed the thread that originally created this object, If this is not the case then the routine throws a JMSException indicating that the current thread is not registered to use this object This now logs a warning message, that another thread |
void |
close()
|
void |
commit()
|
javax.jms.BytesMessage |
createBytesMessage()
|
javax.jms.MapMessage |
createMapMessage()
|
javax.jms.Message |
createMessage()
|
javax.jms.ObjectMessage |
createObjectMessage()
|
javax.jms.ObjectMessage |
createObjectMessage(java.io.Serializable object)
|
javax.jms.StreamMessage |
createStreamMessage()
|
javax.jms.TextMessage |
createTextMessage()
|
javax.jms.TextMessage |
createTextMessage(java.lang.String text)
|
void |
destroy()
Release local resources used by this session object |
void |
enableAsynchronousDelivery(long clientId,
java.lang.String id,
boolean enable)
Enable or disable asynchronous message delivery for the specified client. |
void |
execute(java.lang.Object object)
This is the called to process messages asynchronously delivered by the server. |
int |
getAckMode()
Return the acknowledgement mode for the session |
protected JmsSessionStubIfc |
getJmsSessionStub()
Return an instance of the remote stub. |
javax.jms.MessageListener |
getMessageListener()
|
protected long |
getNextConsumerId()
Returns the next seed value to be allocated to a new consumer |
java.lang.String |
getSessionId()
Return a reference to the session identifier |
boolean |
getTransacted()
|
protected boolean |
isClosed()
Check if the session is closed |
void |
onMessage(javax.jms.Message message)
|
void |
onMessageAvailable(long clientId)
Inform the session that there is a message available for the message consumer with the specified identity |
void |
onMessages(java.util.Vector messages)
Send the specified collection of messages to the client |
void |
recover()
|
protected void |
removeConsumer(JmsMessageConsumer consumer)
Remove the consumer with the specified id from the list of managed consumers |
void |
removeMessageListener(JmsMessageConsumer listener)
Remove the message listener for the specified destination |
protected void |
removeProducer(JmsMessageProducer producer)
Remove the producer from the list of managed producers |
javax.jms.Message |
retrieveMessage(long clientId,
long wait)
Fetch the next message for this client. |
java.util.Vector |
retrieveMessages(long clientId,
int count)
Fetch upto count messages from the endpoint. |
void |
rollback()
|
void |
run()
|
protected void |
sendMessage(javax.jms.Message message)
Send the specified message to the server. |
void |
setMessageListener(JmsMessageConsumer listener)
This will set the message listener for a particular consumer. |
void |
setMessageListener(javax.jms.MessageListener listener)
|
void |
start()
This will start message delivery to this session. |
void |
stop()
This will stop message delivery to this session. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public javax.jms.BytesMessage createBytesMessage()
throws javax.jms.JMSException
createBytesMessage in interface javax.jms.Session
public javax.jms.MapMessage createMapMessage()
throws javax.jms.JMSException
createMapMessage in interface javax.jms.Session
public javax.jms.Message createMessage()
throws javax.jms.JMSException
createMessage in interface javax.jms.Session
public javax.jms.ObjectMessage createObjectMessage()
throws javax.jms.JMSException
createObjectMessage in interface javax.jms.Session
public javax.jms.ObjectMessage createObjectMessage(java.io.Serializable object)
throws javax.jms.JMSException
createObjectMessage in interface javax.jms.Session
public javax.jms.StreamMessage createStreamMessage()
throws javax.jms.JMSException
createStreamMessage in interface javax.jms.Session
public javax.jms.TextMessage createTextMessage()
throws javax.jms.JMSException
createTextMessage in interface javax.jms.Session
public javax.jms.TextMessage createTextMessage(java.lang.String text)
throws javax.jms.JMSException
createTextMessage in interface javax.jms.Session
public boolean getTransacted()
throws javax.jms.JMSException
getTransacted in interface javax.jms.Session
public void commit()
throws javax.jms.JMSException
commit in interface javax.jms.Session
public void rollback()
throws javax.jms.JMSException
rollback in interface javax.jms.Session
public void close()
throws javax.jms.JMSException
close in interface javax.jms.Session
public void recover()
throws javax.jms.JMSException
recover in interface javax.jms.Session
public javax.jms.MessageListener getMessageListener()
throws javax.jms.JMSException
getMessageListener in interface javax.jms.Session
public void setMessageListener(javax.jms.MessageListener listener)
throws javax.jms.JMSException
setMessageListener in interface javax.jms.Sessionpublic void run()
run in interface javax.jms.Session
public void setMessageListener(JmsMessageConsumer listener)
throws javax.jms.JMSException
If a listener is already registered for the consumer, it will be automatically overwritten
listener - the message listener
public void removeMessageListener(JmsMessageConsumer listener)
throws javax.jms.JMSException
listener - the message listener
public void start()
throws javax.jms.JMSException
javax.jms.IllegalStateException - if the session is closedjavax.jms.JMSException - if message delivery can't be started
public void stop()
throws javax.jms.JMSException
javax.jms.IllegalStateException - if the session is closedjavax.jms.JMSException - if message delivery can't be stopped
public void acknowledgeMessage(javax.jms.Message message)
throws javax.jms.JMSException
Acking a message automatically acks all those that have come before it.
acknowledgeMessage in interface MessageSessionIfcmessage - the message to acknowledgejavax.jms.JMSException - if the message can't be acknowledged
public void enableAsynchronousDelivery(long clientId,
java.lang.String id,
boolean enable)
throws javax.jms.JMSException
clientId - - the client identityid - - the last message delivered asynchronouslyenable - - true to enable; false to disablejavax.jms.JMSException - public void onMessage(javax.jms.Message message)
onMessage in interface javax.jms.MessageListenerpublic void onMessages(java.util.Vector messages)
JmsMessageListeneronMessages in interface JmsMessageListenerorg.exolab.jms.client.JmsMessageListenermessages - - collection of MessageHandle objectspublic void onMessageAvailable(long clientId)
JmsMessageListeneronMessageAvailable in interface JmsMessageListenerorg.exolab.jms.client.JmsMessageListenerclientId - - the identity of the clientpublic void execute(java.lang.Object object)
If the session has a registered listener then all messages will be delivered to the session's listener instead of the individual consumer message listeners.
execute in interface QueueWorkerobject - received messagepublic java.lang.String getSessionId()
public int getAckMode()
protected void sendMessage(javax.jms.Message message)
throws javax.jms.JMSException
message - the message to sendjavax.jms.JMSException - if the message can't be sentprotected void checkThreadContext()
protected JmsSessionStubIfc getJmsSessionStub()
protected long getNextConsumerId()
protected void addConsumer(JmsMessageConsumer consumer)
consumer - - the consumer to addprotected void removeConsumer(JmsMessageConsumer consumer)
id - - the consumer id to removeprotected void addProducer(JmsMessageProducer producer)
producer - - the producer to addprotected void removeProducer(JmsMessageProducer producer)
producer - - the producer to removeprotected final boolean isClosed()
true if the session is closed
public javax.jms.Message retrieveMessage(long clientId,
long wait)
throws javax.jms.JMSException
clientId - the consumer identififer.wait - the maximum time to wait for a message, in milliseconds.
If -1, don't wait, if 0 wait indefinitely,
otherwise wait the specified time.null, if no message is
availablejavax.jms.JMSException - if an error occurs retrieving the message
public java.util.Vector retrieveMessages(long clientId,
int count)
throws javax.jms.JMSException
JmsQueueBrowser..clientId - - scoped to the sessioncount - - max messages to retrieve.javax.jms.JMSException -
public void destroy()
throws javax.jms.JMSException
javax.jms.JMSException - - if there is a problem completing this request
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||