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
  • 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:
      getAcknowledgeMode in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • getTransacted

      public boolean getTransacted() throws jakarta.jms.JMSException
      Specified by:
      getTransacted in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • getMessageListener

      public jakarta.jms.MessageListener getMessageListener() throws jakarta.jms.JMSException
      Specified by:
      getMessageListener in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • setMessageListener

      public void setMessageListener(jakarta.jms.MessageListener listener) throws jakarta.jms.JMSException
      Specified by:
      setMessageListener in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • recover

      public void recover() throws jakarta.jms.JMSException
      Specified by:
      recover in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • commit

      public void commit() throws jakarta.jms.JMSException
      Specified by:
      commit in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • rollback

      public void rollback() throws jakarta.jms.JMSException
      Specified by:
      rollback in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • close

      public void close() throws jakarta.jms.JMSException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • doClose

      protected void doClose() throws jakarta.jms.JMSException
      Shutdown 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.JMSException
      This 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

      protected boolean shutdown(Throwable cause) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • createConsumer

      public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException
      Specified by:
      createConsumer in interface jakarta.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:
      createConsumer in interface jakarta.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:
      createConsumer in interface jakarta.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:
      createReceiver in interface jakarta.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:
      createReceiver in interface jakarta.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:
      createBrowser in interface jakarta.jms.QueueSession
      Specified by:
      createBrowser in interface jakarta.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:
      createBrowser in interface jakarta.jms.QueueSession
      Specified by:
      createBrowser in interface jakarta.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:
      createSubscriber in interface jakarta.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:
      createSubscriber in interface jakarta.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:
      createDurableSubscriber in interface jakarta.jms.Session
      Specified by:
      createDurableSubscriber in interface jakarta.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:
      createDurableSubscriber in interface jakarta.jms.Session
      Specified by:
      createDurableSubscriber in interface jakarta.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:
      createDurableConsumer in interface jakarta.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:
      createDurableConsumer in interface jakarta.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

      public void unsubscribe(String name) throws jakarta.jms.JMSException
      Specified by:
      unsubscribe in interface jakarta.jms.Session
      Specified by:
      unsubscribe in interface jakarta.jms.TopicSession
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.unsubscribe(java.lang.String)
    • createSharedConsumer

      public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException
      Specified by:
      createSharedConsumer in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createSharedConsumer(jakarta.jms.Topic, java.lang.String)
    • createSharedConsumer

      public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, String name, String selector) throws jakarta.jms.JMSException
      Specified by:
      createSharedConsumer in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createSharedConsumer(jakarta.jms.Topic, java.lang.String, java.lang.String)
    • createSharedDurableConsumer

      public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException
      Specified by:
      createSharedDurableConsumer in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createSharedDurableConsumer(jakarta.jms.Topic, java.lang.String)
    • createSharedDurableConsumer

      public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, String name, String selector) throws jakarta.jms.JMSException
      Specified by:
      createSharedDurableConsumer in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createSharedDurableConsumer(jakarta.jms.Topic, java.lang.String, java.lang.String)
    • createProducer

      public jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException
      Specified by:
      createProducer in interface jakarta.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:
      createSender in interface jakarta.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:
      createPublisher in interface jakarta.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:
      createBytesMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createMapMessage

      public jakarta.jms.MapMessage createMapMessage() throws jakarta.jms.JMSException
      Specified by:
      createMapMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createMessage

      public jakarta.jms.Message createMessage() throws jakarta.jms.JMSException
      Specified by:
      createMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createObjectMessage

      public jakarta.jms.ObjectMessage createObjectMessage() throws jakarta.jms.JMSException
      Specified by:
      createObjectMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createObjectMessage

      public jakarta.jms.ObjectMessage createObjectMessage(Serializable object) throws jakarta.jms.JMSException
      Specified by:
      createObjectMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createStreamMessage

      public jakarta.jms.StreamMessage createStreamMessage() throws jakarta.jms.JMSException
      Specified by:
      createStreamMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createTextMessage

      public jakarta.jms.TextMessage createTextMessage() throws jakarta.jms.JMSException
      Specified by:
      createTextMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createTextMessage

      public jakarta.jms.TextMessage createTextMessage(String text) throws jakarta.jms.JMSException
      Specified by:
      createTextMessage in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
    • createQueue

      public jakarta.jms.Queue createQueue(String queueName) throws jakarta.jms.JMSException
      Specified by:
      createQueue in interface jakarta.jms.QueueSession
      Specified by:
      createQueue in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createQueue(java.lang.String)
    • createTopic

      public jakarta.jms.Topic createTopic(String topicName) throws jakarta.jms.JMSException
      Specified by:
      createTopic in interface jakarta.jms.Session
      Specified by:
      createTopic in interface jakarta.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:
      createTemporaryQueue in interface jakarta.jms.QueueSession
      Specified by:
      createTemporaryQueue in interface jakarta.jms.Session
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createTemporaryQueue()
    • createTemporaryTopic

      public jakarta.jms.TemporaryTopic createTemporaryTopic() throws jakarta.jms.JMSException
      Specified by:
      createTemporaryTopic in interface jakarta.jms.Session
      Specified by:
      createTemporaryTopic in interface jakarta.jms.TopicSession
      Throws:
      jakarta.jms.JMSException
      See Also:
      • Session.createTemporaryTopic()
    • run

      public void run()
      Specified by:
      run in interface Runnable
      Specified by:
      run in interface jakarta.jms.Session
    • 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, 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

      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: JmsMessageDispatcher
      Called when a new Message delivery is in progress.
      Specified by:
      onInboundMessage in interface JmsMessageDispatcher
      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()