Class ActiveMQSession

  • All Implemented Interfaces:
    jakarta.jms.QueueSession, jakarta.jms.Session, jakarta.jms.TopicSession, AutoCloseable, Runnable
    Direct Known Subclasses:
    ActiveMQXASession

    public class ActiveMQSession
    extends Object
    implements jakarta.jms.QueueSession, jakarta.jms.TopicSession
    ActiveMQ Artemis implementation of a JMS Session.
    Note that we *do not* support JMS ASF (Application Server Facilities) optional constructs such as ConnectionConsumer
    • Method Detail

      • 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
      • getTransacted

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

        public int getAcknowledgeMode()
                               throws jakarta.jms.JMSException
        Specified by:
        getAcknowledgeMode in interface jakarta.jms.Session
        Throws:
        jakarta.jms.JMSException
      • isXA

        public boolean isXA()
      • 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
      • recover

        public void recover()
                     throws jakarta.jms.JMSException
        Specified by:
        recover 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
      • run

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

        protected jakarta.jms.Topic internalCreateTopic​(String topicName,
                                                        boolean retry)
                                                 throws ActiveMQException,
                                                        jakarta.jms.JMSException
        Throws:
        ActiveMQException
        jakarta.jms.JMSException
      • 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
      • 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
      • createSharedConsumer

        public jakarta.jms.MessageConsumer createSharedConsumer​(jakarta.jms.Topic topic,
                                                                String sharedSubscriptionName)
                                                         throws jakarta.jms.JMSException
        Specified by:
        createSharedConsumer in interface jakarta.jms.Session
        Throws:
        jakarta.jms.JMSException
      • createSharedConsumer

        public jakarta.jms.MessageConsumer createSharedConsumer​(jakarta.jms.Topic topic,
                                                                String name,
                                                                String messageSelector)
                                                         throws jakarta.jms.JMSException
        Note: Needs to throw an exception if a subscriptionName is already in use by another topic, or if the messageSelector is different validate multiple subscriptions on the same session. validate multiple subscriptions on different sessions validate failure in one connection while another connection stills fine. Validate different filters in different possible scenarios
        Specified by:
        createSharedConsumer in interface jakarta.jms.Session
        Parameters:
        topic -
        name -
        messageSelector -
        Returns:
        Throws:
        jakarta.jms.JMSException
      • 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
      • 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
      • 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
      • createSharedDurableConsumer

        public jakarta.jms.MessageConsumer createSharedDurableConsumer​(jakarta.jms.Topic topic,
                                                                       String name,
                                                                       String messageSelector)
                                                                throws jakarta.jms.JMSException
        Specified by:
        createSharedDurableConsumer in interface jakarta.jms.Session
        Throws:
        jakarta.jms.JMSException
      • getDeserializationBlackList

        public String getDeserializationBlackList()
      • getDeserializationWhiteList

        public String getDeserializationWhiteList()
      • ackAllConsumers

        public void ackAllConsumers()
                             throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • createBrowser

        public jakarta.jms.QueueBrowser createBrowser​(jakarta.jms.Queue queue)
                                               throws jakarta.jms.JMSException
        Specified by:
        createBrowser in interface jakarta.jms.QueueSession
        Specified by:
        createBrowser in interface jakarta.jms.Session
        Throws:
        jakarta.jms.JMSException
      • createBrowser

        public jakarta.jms.QueueBrowser createBrowser​(jakarta.jms.Queue queue,
                                                      String filterString)
                                               throws jakarta.jms.JMSException
        Specified by:
        createBrowser in interface jakarta.jms.QueueSession
        Specified by:
        createBrowser in interface jakarta.jms.Session
        Throws:
        jakarta.jms.JMSException
      • 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
      • 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
      • 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
      • getSession

        public jakarta.jms.Session getSession()
                                       throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • getXAResource

        public XAResource getXAResource()
      • 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
      • 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
      • 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
      • getQueueSession

        public jakarta.jms.QueueSession getQueueSession()
                                                 throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • 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
      • 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
      • 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
      • getTopicSession

        public jakarta.jms.TopicSession getTopicSession()
                                                 throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • isRecoverCalled

        public boolean isRecoverCalled()
      • setRecoverCalled

        public void setRecoverCalled​(boolean recoverCalled)
      • deleteTemporaryTopic

        public void deleteTemporaryTopic​(ActiveMQDestination tempTopic)
                                  throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • deleteTemporaryQueue

        public void deleteTemporaryQueue​(ActiveMQDestination tempQueue)
                                  throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • start

        public void start()
                   throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • stop

        public void stop()
                  throws jakarta.jms.JMSException
        Throws:
        jakarta.jms.JMSException
      • isEnable1xPrefixes

        public boolean isEnable1xPrefixes()