Package org.apache.qpid.jms
Class JmsSession
java.lang.Object
org.apache.qpid.jms.JmsSession
- All Implemented Interfaces:
jakarta.jms.QueueSession,jakarta.jms.Session,jakarta.jms.TopicSession,AutoCloseable,Runnable,JmsMessageDispatcher
- Direct Known Subclasses:
JmsQueueSession,JmsTopicSession
public class JmsSession
extends Object
implements AutoCloseable, jakarta.jms.Session, jakarta.jms.QueueSession, jakarta.jms.TopicSession, JmsMessageDispatcher
JMS Session implementation
-
Field Summary
Fields inherited from interface jakarta.jms.Session
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJmsSession(JmsConnection connection, JmsSessionId sessionId, int acknowledgementMode) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadd(JmsMessageConsumer consumer) protected voidadd(JmsMessageProducer producer) protected voidprotected voidstatic voidcheckDestination(jakarta.jms.Destination dest) voidclose()voidcommit()jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue destination) jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue destination, String messageSelector) jakarta.jms.BytesMessagejakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination) jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, String messageSelector) jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, String messageSelector, boolean noLocal) jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, String name) jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, String name) jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) jakarta.jms.MapMessagejakarta.jms.Messagejakarta.jms.ObjectMessagejakarta.jms.ObjectMessagecreateObjectMessage(Serializable object) jakarta.jms.MessageProducercreateProducer(jakarta.jms.Destination destination) jakarta.jms.TopicPublishercreatePublisher(jakarta.jms.Topic topic) jakarta.jms.QueuecreateQueue(String queueName) jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue) jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue, String messageSelector) jakarta.jms.QueueSendercreateSender(jakarta.jms.Queue queue) jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, String name) jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, String name, String selector) jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, String name) jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, String name, String selector) jakarta.jms.StreamMessagejakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic) jakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic, String messageSelector, boolean noLocal) jakarta.jms.TemporaryQueuejakarta.jms.TemporaryTopicjakarta.jms.TextMessagejakarta.jms.TextMessagecreateTextMessage(String text) jakarta.jms.TopiccreateTopic(String topicName) protected voiddoClose()Shutdown the Session and release all resources.intjakarta.jms.MessageListenerprotected JmsConsumerIdprotected JmsProducerIdprotected JmsSessionIdprotected JmsSessionInfoprotected intbooleanReturns the transaction context of the session.booleanChecks whether the session used auto acknowledgment.booleanChecks whether the session used client acknowledgment.booleanisClosed()booleanChecks whether the session used dup ok acknowledgment.booleanChecks whether the session used individual acknowledgment mode.booleanChecks whether the session uses presettlement for all consumers.protected booleanbooleanChecks whether the session uses transactions.protected JmsMessageConsumerlookup(JmsConsumerId consumerId) protected JmsMessageProducerlookup(JmsProducerId producerId) protected voidprotected voidprotected voidonConnectionRecovered(Provider provider) protected voidonConnectionRecovery(Provider provider) protected voidprotected 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, jakarta.jms.Destination dest, jakarta.jms.Message msg, int deliveryMode, int priority, long timeToLive, boolean disableMsgId, boolean disableTimestamp, long deliveryDelay, jakarta.jms.CompletionListener listener) voidsetMessageListener(jakarta.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 booleanprotected voidstart()protected voidstop()voidunsubscribe(String name)
-
Constructor Details
-
JmsSession
protected JmsSession(JmsConnection connection, JmsSessionId sessionId, int acknowledgementMode) throws jakarta.jms.JMSException - Throws:
jakarta.jms.JMSException
-
-
Method Details
-
getAcknowledgeMode
public int getAcknowledgeMode() throws jakarta.jms.JMSException- Specified by:
getAcknowledgeModein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getTransacted
public boolean getTransacted() throws jakarta.jms.JMSException- Specified by:
getTransactedin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getMessageListener
public jakarta.jms.MessageListener getMessageListener() throws jakarta.jms.JMSException- Specified by:
getMessageListenerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
setMessageListener
public void setMessageListener(jakarta.jms.MessageListener listener) throws jakarta.jms.JMSException - Specified by:
setMessageListenerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
recover
public void recover() throws jakarta.jms.JMSException- Specified by:
recoverin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
commit
public void commit() throws jakarta.jms.JMSException- Specified by:
commitin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
rollback
public void rollback() throws jakarta.jms.JMSException- Specified by:
rollbackin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
close
public void close() throws jakarta.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
doClose
protected void doClose() throws jakarta.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:
jakarta.jms.JMSException- if an internal error occurs during the close operation.
-
shutdown
protected void shutdown() throws jakarta.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:
jakarta.jms.JMSException- if an error occurs while shutting down the session resources.
-
shutdown
- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException - Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createConsumer(jakarta.jms.Destination)
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String messageSelector) throws jakarta.jms.JMSException - Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createConsumer(jakarta.jms.Destination, java.lang.String)
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createConsumer(jakarta.jms.Destination, java.lang.String, boolean)
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue) throws jakarta.jms.JMSException - Specified by:
createReceiverin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException- See Also:
-
QueueSession.createReceiver(jakarta.jms.Queue)
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue, String messageSelector) throws jakarta.jms.JMSException - Specified by:
createReceiverin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException- See Also:
-
QueueSession.createReceiver(jakarta.jms.Queue, java.lang.String)
-
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue destination) throws jakarta.jms.JMSException - Specified by:
createBrowserin interfacejakarta.jms.QueueSession- Specified by:
createBrowserin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createBrowser(jakarta.jms.Queue)
-
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue destination, String messageSelector) throws jakarta.jms.JMSException - Specified by:
createBrowserin interfacejakarta.jms.QueueSession- Specified by:
createBrowserin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createBrowser(jakarta.jms.Queue, java.lang.String)
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic) throws jakarta.jms.JMSException - Specified by:
createSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
TopicSession.createSubscriber(jakarta.jms.Topic)
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
TopicSession.createSubscriber(jakarta.jms.Topic, java.lang.String, boolean)
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException - Specified by:
createDurableSubscriberin interfacejakarta.jms.Session- Specified by:
createDurableSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createDurableSubscriber(jakarta.jms.Topic, java.lang.String)
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createDurableSubscriberin interfacejakarta.jms.Session- Specified by:
createDurableSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createDurableSubscriber(jakarta.jms.Topic, java.lang.String, java.lang.String, boolean)
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException - Specified by:
createDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createDurableConsumer(jakarta.jms.Topic, java.lang.String)
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createDurableConsumer(jakarta.jms.Topic, java.lang.String, java.lang.String, boolean)
-
checkClientIDWasSetExplicitly
protected void checkClientIDWasSetExplicitly() throws jakarta.jms.IllegalStateException- Throws:
jakarta.jms.IllegalStateException
-
unsubscribe
- Specified by:
unsubscribein interfacejakarta.jms.Session- Specified by:
unsubscribein interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
Session.unsubscribe(java.lang.String)
-
createProducer
public jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException - Specified by:
createProducerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createProducer(jakarta.jms.Destination)
-
createSender
public jakarta.jms.QueueSender createSender(jakarta.jms.Queue queue) throws jakarta.jms.JMSException - Specified by:
createSenderin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException- See Also:
-
QueueSession.createSender(jakarta.jms.Queue)
-
createPublisher
public jakarta.jms.TopicPublisher createPublisher(jakarta.jms.Topic topic) throws jakarta.jms.JMSException - Specified by:
createPublisherin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
TopicSession.createPublisher(jakarta.jms.Topic)
-
createBytesMessage
public jakarta.jms.BytesMessage createBytesMessage() throws jakarta.jms.JMSException- Specified by:
createBytesMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createMapMessage
public jakarta.jms.MapMessage createMapMessage() throws jakarta.jms.JMSException- Specified by:
createMapMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createMessage
public jakarta.jms.Message createMessage() throws jakarta.jms.JMSException- Specified by:
createMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage() throws jakarta.jms.JMSException- Specified by:
createObjectMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage(Serializable object) throws jakarta.jms.JMSException - Specified by:
createObjectMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createStreamMessage
public jakarta.jms.StreamMessage createStreamMessage() throws jakarta.jms.JMSException- Specified by:
createStreamMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTextMessage
public jakarta.jms.TextMessage createTextMessage() throws jakarta.jms.JMSException- Specified by:
createTextMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTextMessage
- Specified by:
createTextMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createQueue
- Specified by:
createQueuein interfacejakarta.jms.QueueSession- Specified by:
createQueuein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createQueue(java.lang.String)
-
createTopic
- Specified by:
createTopicin interfacejakarta.jms.Session- Specified by:
createTopicin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createTopic(java.lang.String)
-
createTemporaryQueue
public jakarta.jms.TemporaryQueue createTemporaryQueue() throws jakarta.jms.JMSException- Specified by:
createTemporaryQueuein interfacejakarta.jms.QueueSession- Specified by:
createTemporaryQueuein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createTemporaryQueue()
-
createTemporaryTopic
public jakarta.jms.TemporaryTopic createTemporaryTopic() throws jakarta.jms.JMSException- Specified by:
createTemporaryTopicin interfacejakarta.jms.Session- Specified by:
createTemporaryTopicin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException- See Also:
-
Session.createTemporaryTopic()
-
run
public void run() -
add
-
remove
-
lookup
-
add
-
remove
-
lookup
-
onException
-
send
protected void send(JmsMessageProducer producer, jakarta.jms.Destination dest, jakarta.jms.Message msg, int deliveryMode, int priority, long timeToLive, boolean disableMsgId, boolean disableTimestamp, long deliveryDelay, jakarta.jms.CompletionListener listener) throws jakarta.jms.JMSException - Throws:
jakarta.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 jakarta.jms.IllegalStateException- Throws:
jakarta.jms.IllegalStateException
-
checkDestination
public static void checkDestination(jakarta.jms.Destination dest) throws jakarta.jms.InvalidDestinationException - Throws:
jakarta.jms.InvalidDestinationException
-
start
protected void start() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
stop
protected void stop() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
isStarted
protected boolean isStarted() -
getConnection
-
getSessionInfo
-
getSessionId
-
getSessionMode
protected int getSessionMode() -
getNextConsumerId
-
getNextProducerId
-
getMessageIDPolicy
-
getPrefetchPolicy
-
getPresettlePolicy
-
getRedeliveryPolicy
-
getDeserializationPolicy
-
setTransactionContext
Sets the transaction context of the session.- Parameters:
transactionContext- provides the means to control a JMS transaction.
-
getTransactionContext
Returns the transaction context of the session.- Returns:
- transactionContext session's transaction context.
-
onInboundMessage
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
-
onFailedMessageSend
-
onConnectionInterrupted
protected void onConnectionInterrupted() -
onConnectionRecovery
- Throws:
Exception
-
onConnectionRecovered
- Throws:
Exception
-
onConnectionRestored
protected void onConnectionRestored()
-