Package org.apache.qpid.jms
Class JmsSession
- java.lang.Object
-
- org.apache.qpid.jms.JmsSession
-
- All Implemented Interfaces:
AutoCloseable,Runnable,javax.jms.QueueSession,javax.jms.Session,javax.jms.TopicSession,JmsMessageDispatcher
- Direct Known Subclasses:
JmsQueueSession,JmsTopicSession
public class JmsSession extends Object implements AutoCloseable, javax.jms.Session, javax.jms.QueueSession, javax.jms.TopicSession, JmsMessageDispatcher
JMS Session implementation
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedJmsSession(JmsConnection connection, JmsSessionId sessionId, int acknowledgementMode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidadd(JmsMessageConsumer consumer)protected voidadd(JmsMessageProducer producer)protected voidcheckClientIDWasSetExplicitly()protected voidcheckClosed()static voidcheckDestination(javax.jms.Destination dest)voidclose()voidcommit()javax.jms.QueueBrowsercreateBrowser(javax.jms.Queue destination)javax.jms.QueueBrowsercreateBrowser(javax.jms.Queue destination, String messageSelector)javax.jms.BytesMessagecreateBytesMessage()javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal)javax.jms.MessageConsumercreateDurableConsumer(javax.jms.Topic topic, String name)javax.jms.MessageConsumercreateDurableConsumer(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal)javax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String name)javax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal)javax.jms.MapMessagecreateMapMessage()javax.jms.MessagecreateMessage()javax.jms.ObjectMessagecreateObjectMessage()javax.jms.ObjectMessagecreateObjectMessage(Serializable object)javax.jms.MessageProducercreateProducer(javax.jms.Destination destination)javax.jms.TopicPublishercreatePublisher(javax.jms.Topic topic)javax.jms.QueuecreateQueue(String queueName)javax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue)javax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue, String messageSelector)javax.jms.QueueSendercreateSender(javax.jms.Queue queue)javax.jms.MessageConsumercreateSharedConsumer(javax.jms.Topic topic, String name)javax.jms.MessageConsumercreateSharedConsumer(javax.jms.Topic topic, String name, String selector)javax.jms.MessageConsumercreateSharedDurableConsumer(javax.jms.Topic topic, String name)javax.jms.MessageConsumercreateSharedDurableConsumer(javax.jms.Topic topic, String name, String selector)javax.jms.StreamMessagecreateStreamMessage()javax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic)javax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic, String messageSelector, boolean noLocal)javax.jms.TemporaryQueuecreateTemporaryQueue()javax.jms.TemporaryTopiccreateTemporaryTopic()javax.jms.TextMessagecreateTextMessage()javax.jms.TextMessagecreateTextMessage(String text)javax.jms.TopiccreateTopic(String topicName)protected voiddoClose()Shutdown the Session and release all resources.intgetAcknowledgeMode()JmsConnectiongetConnection()JmsDeserializationPolicygetDeserializationPolicy()JmsMessageIDPolicygetMessageIDPolicy()javax.jms.MessageListenergetMessageListener()protected JmsConsumerIdgetNextConsumerId()protected JmsProducerIdgetNextProducerId()JmsPrefetchPolicygetPrefetchPolicy()JmsPresettlePolicygetPresettlePolicy()JmsRedeliveryPolicygetRedeliveryPolicy()protected JmsSessionIdgetSessionId()protected JmsSessionInfogetSessionInfo()protected intgetSessionMode()booleangetTransacted()JmsTransactionContextgetTransactionContext()Returns the transaction context of the session.booleanisAutoAcknowledge()Checks whether the session used auto acknowledgment.booleanisClientAcknowledge()Checks whether the session used client acknowledgment.booleanisClosed()booleanisDupsOkAcknowledge()Checks whether the session used dup ok acknowledgment.booleanisIndividualAcknowledge()Checks whether the session used individual acknowledgment mode.booleanisNoAcknowledge()Checks whether the session uses presettlement for all consumers.protected booleanisStarted()booleanisTransacted()Checks whether the session uses transactions.protected JmsMessageConsumerlookup(JmsConsumerId consumerId)protected JmsMessageProducerlookup(JmsProducerId producerId)protected voidonCompletedMessageSend(JmsOutboundMessageDispatch envelope)protected voidonConnectionInterrupted()protected voidonConnectionRecovered(Provider provider)protected voidonConnectionRecovery(Provider provider)protected voidonConnectionRestored()protected voidonException(Exception ex)protected voidonFailedMessageSend(JmsOutboundMessageDispatch envelope, Throwable cause)voidonInboundMessage(JmsInboundMessageDispatch envelope)Called when a new Message delivery is in progress.voidrecover()protected voidremove(JmsMessageConsumer consumer)protected voidremove(JmsMessageProducer producer)voidrollback()voidrun()protected voidsend(JmsMessageProducer producer, javax.jms.Destination dest, javax.jms.Message msg, int deliveryMode, int priority, long timeToLive, boolean disableMsgId, boolean disableTimestamp, long deliveryDelay, javax.jms.CompletionListener listener)voidsetMessageListener(javax.jms.MessageListener listener)voidsetTransactionContext(JmsTransactionContext transactionContext)Sets the transaction context of the session.protected voidshutdown()This method should terminate all Session resources and prepare for disposal of the Session.protected booleanshutdown(Throwable cause)protected voidstart()protected voidstop()voidunsubscribe(String name)
-
-
-
Constructor Detail
-
JmsSession
protected JmsSession(JmsConnection connection, JmsSessionId sessionId, int acknowledgementMode) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
-
Method Detail
-
getAcknowledgeMode
public int getAcknowledgeMode() throws javax.jms.JMSException- Specified by:
getAcknowledgeModein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getTransacted
public boolean getTransacted() throws javax.jms.JMSException- Specified by:
getTransactedin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getMessageListener
public javax.jms.MessageListener getMessageListener() throws javax.jms.JMSException- Specified by:
getMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener listener) throws javax.jms.JMSException- Specified by:
setMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
recover
public void recover() throws javax.jms.JMSException- Specified by:
recoverin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
commit
public void commit() throws javax.jms.JMSException- Specified by:
commitin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
rollback
public void rollback() throws javax.jms.JMSException- Specified by:
rollbackin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
close
public void close() throws javax.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
doClose
protected void doClose() throws javax.jms.JMSExceptionShutdown the Session and release all resources. Once completed the Session can request that the Provider destroy the Session and it's child resources.- Throws:
javax.jms.JMSException- if an internal error occurs during the close operation.
-
shutdown
protected void shutdown() throws javax.jms.JMSExceptionThis method should terminate all Session resources and prepare for disposal of the Session. It is called either from the Session close method or from the Connection when a close request is made and the Connection wants to cleanup all Session resources. This method should not attempt to send any requests to the Provider as the resources that were associated with this session are either cleaned up by another method in the session or are already gone due to remote close or some other error.- Throws:
javax.jms.JMSException- if an error occurs while shutting down the session resources.
-
shutdown
protected boolean shutdown(Throwable cause) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createConsumer(javax.jms.Destination)
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createConsumer(javax.jms.Destination, java.lang.String)
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createConsumer(javax.jms.Destination, java.lang.String, boolean)
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException- See Also:
QueueSession.createReceiver(javax.jms.Queue)
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue, String messageSelector) throws javax.jms.JMSException- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException- See Also:
QueueSession.createReceiver(javax.jms.Queue, java.lang.String)
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue destination) throws javax.jms.JMSException- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createBrowser(javax.jms.Queue)
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue destination, String messageSelector) throws javax.jms.JMSException- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createBrowser(javax.jms.Queue, java.lang.String)
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic) throws javax.jms.JMSException- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
TopicSession.createSubscriber(javax.jms.Topic)
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
TopicSession.createSubscriber(javax.jms.Topic, java.lang.String, boolean)
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
Session.createDurableSubscriber(javax.jms.Topic, java.lang.String)
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
Session.createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)
-
createDurableConsumer
public javax.jms.MessageConsumer createDurableConsumer(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createDurableConsumer(javax.jms.Topic, java.lang.String)
-
createDurableConsumer
public javax.jms.MessageConsumer createDurableConsumer(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createDurableConsumer(javax.jms.Topic, java.lang.String, java.lang.String, boolean)
-
checkClientIDWasSetExplicitly
protected void checkClientIDWasSetExplicitly() throws javax.jms.IllegalStateException- Throws:
javax.jms.IllegalStateException
-
unsubscribe
public void unsubscribe(String name) throws javax.jms.JMSException
- Specified by:
unsubscribein interfacejavax.jms.Session- Specified by:
unsubscribein interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
Session.unsubscribe(java.lang.String)
-
createSharedConsumer
public javax.jms.MessageConsumer createSharedConsumer(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createSharedConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createSharedConsumer(javax.jms.Topic, java.lang.String)
-
createSharedConsumer
public javax.jms.MessageConsumer createSharedConsumer(javax.jms.Topic topic, String name, String selector) throws javax.jms.JMSException- Specified by:
createSharedConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createSharedConsumer(javax.jms.Topic, java.lang.String, java.lang.String)
-
createSharedDurableConsumer
public javax.jms.MessageConsumer createSharedDurableConsumer(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createSharedDurableConsumer(javax.jms.Topic, java.lang.String)
-
createSharedDurableConsumer
public javax.jms.MessageConsumer createSharedDurableConsumer(javax.jms.Topic topic, String name, String selector) throws javax.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createSharedDurableConsumer(javax.jms.Topic, java.lang.String, java.lang.String)
-
createProducer
public javax.jms.MessageProducer createProducer(javax.jms.Destination destination) throws javax.jms.JMSException- Specified by:
createProducerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createProducer(javax.jms.Destination)
-
createSender
public javax.jms.QueueSender createSender(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createSenderin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException- See Also:
QueueSession.createSender(javax.jms.Queue)
-
createPublisher
public javax.jms.TopicPublisher createPublisher(javax.jms.Topic topic) throws javax.jms.JMSException- Specified by:
createPublisherin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
TopicSession.createPublisher(javax.jms.Topic)
-
createBytesMessage
public javax.jms.BytesMessage createBytesMessage() throws javax.jms.JMSException- Specified by:
createBytesMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createMapMessage
public javax.jms.MapMessage createMapMessage() throws javax.jms.JMSException- Specified by:
createMapMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createMessage
public javax.jms.Message createMessage() throws javax.jms.JMSException- Specified by:
createMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage() throws javax.jms.JMSException- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage(Serializable object) throws javax.jms.JMSException
- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createStreamMessage
public javax.jms.StreamMessage createStreamMessage() throws javax.jms.JMSException- Specified by:
createStreamMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public javax.jms.TextMessage createTextMessage() throws javax.jms.JMSException- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public javax.jms.TextMessage createTextMessage(String text) throws javax.jms.JMSException
- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createQueue
public javax.jms.Queue createQueue(String queueName) throws javax.jms.JMSException
- Specified by:
createQueuein interfacejavax.jms.QueueSession- Specified by:
createQueuein interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createQueue(java.lang.String)
-
createTopic
public javax.jms.Topic createTopic(String topicName) throws javax.jms.JMSException
- Specified by:
createTopicin interfacejavax.jms.Session- Specified by:
createTopicin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
Session.createTopic(java.lang.String)
-
createTemporaryQueue
public javax.jms.TemporaryQueue createTemporaryQueue() throws javax.jms.JMSException- Specified by:
createTemporaryQueuein interfacejavax.jms.QueueSession- Specified by:
createTemporaryQueuein interfacejavax.jms.Session- Throws:
javax.jms.JMSException- See Also:
Session.createTemporaryQueue()
-
createTemporaryTopic
public javax.jms.TemporaryTopic createTemporaryTopic() throws javax.jms.JMSException- Specified by:
createTemporaryTopicin interfacejavax.jms.Session- Specified by:
createTemporaryTopicin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException- See Also:
Session.createTemporaryTopic()
-
run
public void run()
-
add
protected void add(JmsMessageConsumer consumer)
-
remove
protected void remove(JmsMessageConsumer consumer)
-
lookup
protected JmsMessageConsumer lookup(JmsConsumerId consumerId)
-
add
protected void add(JmsMessageProducer producer)
-
remove
protected void remove(JmsMessageProducer producer)
-
lookup
protected JmsMessageProducer lookup(JmsProducerId producerId)
-
onException
protected void onException(Exception ex)
-
send
protected void send(JmsMessageProducer producer, javax.jms.Destination dest, javax.jms.Message msg, int deliveryMode, int priority, long timeToLive, boolean disableMsgId, boolean disableTimestamp, long deliveryDelay, javax.jms.CompletionListener listener) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
isClosed
public boolean isClosed()
-
isTransacted
public boolean isTransacted()
Checks whether the session uses transactions.- Returns:
- true if the session uses transactions.
-
isClientAcknowledge
public boolean isClientAcknowledge()
Checks whether the session used client acknowledgment.- Returns:
- true if the session uses client acknowledgment.
-
isAutoAcknowledge
public boolean isAutoAcknowledge()
Checks whether the session used auto acknowledgment.- Returns:
- true if the session uses client acknowledgment.
-
isDupsOkAcknowledge
public boolean isDupsOkAcknowledge()
Checks whether the session used dup ok acknowledgment.- Returns:
- true if the session uses client acknowledgment.
-
isNoAcknowledge
public boolean isNoAcknowledge()
Checks whether the session uses presettlement for all consumers.- Returns:
- true if the session is using a presettlement for consumers.
-
isIndividualAcknowledge
public boolean isIndividualAcknowledge()
Checks whether the session used individual acknowledgment mode.- Returns:
- true if the session uses individual acknowledgment.
-
checkClosed
protected void checkClosed() throws javax.jms.IllegalStateException- Throws:
javax.jms.IllegalStateException
-
checkDestination
public static void checkDestination(javax.jms.Destination dest) throws javax.jms.InvalidDestinationException- Throws:
javax.jms.InvalidDestinationException
-
start
protected void start() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
stop
protected void stop() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
isStarted
protected boolean isStarted()
-
getConnection
public JmsConnection getConnection()
-
getSessionInfo
protected JmsSessionInfo getSessionInfo()
-
getSessionId
protected JmsSessionId getSessionId()
-
getSessionMode
protected int getSessionMode()
-
getNextConsumerId
protected JmsConsumerId getNextConsumerId()
-
getNextProducerId
protected JmsProducerId getNextProducerId()
-
getMessageIDPolicy
public JmsMessageIDPolicy getMessageIDPolicy()
-
getPrefetchPolicy
public JmsPrefetchPolicy getPrefetchPolicy()
-
getPresettlePolicy
public JmsPresettlePolicy getPresettlePolicy()
-
getRedeliveryPolicy
public JmsRedeliveryPolicy getRedeliveryPolicy()
-
getDeserializationPolicy
public JmsDeserializationPolicy getDeserializationPolicy()
-
setTransactionContext
public void setTransactionContext(JmsTransactionContext transactionContext)
Sets the transaction context of the session.- Parameters:
transactionContext- provides the means to control a JMS transaction.
-
getTransactionContext
public JmsTransactionContext getTransactionContext()
Returns the transaction context of the session.- Returns:
- transactionContext session's transaction context.
-
onInboundMessage
public void onInboundMessage(JmsInboundMessageDispatch envelope)
Description copied from interface:JmsMessageDispatcherCalled when a new Message delivery is in progress.- Specified by:
onInboundMessagein interfaceJmsMessageDispatcher- Parameters:
envelope- the incoming message dispatch information.
-
onCompletedMessageSend
protected void onCompletedMessageSend(JmsOutboundMessageDispatch envelope)
-
onFailedMessageSend
protected void onFailedMessageSend(JmsOutboundMessageDispatch envelope, Throwable cause)
-
onConnectionInterrupted
protected void onConnectionInterrupted()
-
onConnectionRecovery
protected void onConnectionRecovery(Provider provider) throws Exception
- Throws:
Exception
-
onConnectionRecovered
protected void onConnectionRecovered(Provider provider) throws Exception
- Throws:
Exception
-
onConnectionRestored
protected void onConnectionRestored()
-
-