Class ActiveMQSession

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

    public class ActiveMQSession
    extends java.lang.Object
    implements javax.jms.QueueSession, javax.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 javax.jms.BytesMessage createBytesMessage()
                                                  throws javax.jms.JMSException
        Specified by:
        createBytesMessage in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createMapMessage

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

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

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

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

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

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

        public javax.jms.TextMessage createTextMessage​(java.lang.String text)
                                                throws javax.jms.JMSException
        Specified by:
        createTextMessage in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • getTransacted

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

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

        public boolean isXA()
      • commit

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

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

        public void close()
                   throws javax.jms.JMSException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • recover

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

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

        public void setMessageListener​(javax.jms.MessageListener listener)
                                throws javax.jms.JMSException
        Specified by:
        setMessageListener in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Specified by:
        run in interface javax.jms.Session
      • createProducer

        public javax.jms.MessageProducer createProducer​(javax.jms.Destination destination)
                                                 throws javax.jms.JMSException
        Specified by:
        createProducer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createConsumer

        public javax.jms.MessageConsumer createConsumer​(javax.jms.Destination destination)
                                                 throws javax.jms.JMSException
        Specified by:
        createConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createConsumer

        public javax.jms.MessageConsumer createConsumer​(javax.jms.Destination destination,
                                                        java.lang.String messageSelector)
                                                 throws javax.jms.JMSException
        Specified by:
        createConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createConsumer

        public javax.jms.MessageConsumer createConsumer​(javax.jms.Destination destination,
                                                        java.lang.String messageSelector,
                                                        boolean noLocal)
                                                 throws javax.jms.JMSException
        Specified by:
        createConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createQueue

        public javax.jms.Queue createQueue​(java.lang.String queueName)
                                    throws javax.jms.JMSException
        Specified by:
        createQueue in interface javax.jms.QueueSession
        Specified by:
        createQueue in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • internalCreateQueue

        protected javax.jms.Queue internalCreateQueue​(java.lang.String queueName)
                                               throws org.apache.activemq.artemis.api.core.ActiveMQException,
                                                      javax.jms.JMSException
        Throws:
        org.apache.activemq.artemis.api.core.ActiveMQException
        javax.jms.JMSException
      • internalCreateQueueCompatibility

        protected ActiveMQQueue internalCreateQueueCompatibility​(java.lang.String queueName)
                                                          throws org.apache.activemq.artemis.api.core.ActiveMQException,
                                                                 javax.jms.JMSException
        Throws:
        org.apache.activemq.artemis.api.core.ActiveMQException
        javax.jms.JMSException
      • createTopic

        public javax.jms.Topic createTopic​(java.lang.String topicName)
                                    throws javax.jms.JMSException
        Specified by:
        createTopic in interface javax.jms.Session
        Specified by:
        createTopic in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • internalCreateTopic

        protected javax.jms.Topic internalCreateTopic​(java.lang.String topicName,
                                                      boolean retry)
                                               throws org.apache.activemq.artemis.api.core.ActiveMQException,
                                                      javax.jms.JMSException
        Throws:
        org.apache.activemq.artemis.api.core.ActiveMQException
        javax.jms.JMSException
      • createDurableSubscriber

        public javax.jms.TopicSubscriber createDurableSubscriber​(javax.jms.Topic topic,
                                                                 java.lang.String name)
                                                          throws javax.jms.JMSException
        Specified by:
        createDurableSubscriber in interface javax.jms.Session
        Specified by:
        createDurableSubscriber in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • createDurableSubscriber

        public javax.jms.TopicSubscriber createDurableSubscriber​(javax.jms.Topic topic,
                                                                 java.lang.String name,
                                                                 java.lang.String messageSelector,
                                                                 boolean noLocal)
                                                          throws javax.jms.JMSException
        Specified by:
        createDurableSubscriber in interface javax.jms.Session
        Specified by:
        createDurableSubscriber in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • createSharedConsumer

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

        public javax.jms.MessageConsumer createSharedConsumer​(javax.jms.Topic topic,
                                                              java.lang.String name,
                                                              java.lang.String messageSelector)
                                                       throws javax.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 javax.jms.Session
        Parameters:
        topic -
        name -
        messageSelector -
        Returns:
        Throws:
        javax.jms.JMSException
      • createDurableConsumer

        public javax.jms.MessageConsumer createDurableConsumer​(javax.jms.Topic topic,
                                                               java.lang.String name)
                                                        throws javax.jms.JMSException
        Specified by:
        createDurableConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createDurableConsumer

        public javax.jms.MessageConsumer createDurableConsumer​(javax.jms.Topic topic,
                                                               java.lang.String name,
                                                               java.lang.String messageSelector,
                                                               boolean noLocal)
                                                        throws javax.jms.JMSException
        Specified by:
        createDurableConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createSharedDurableConsumer

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

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

        public java.lang.String getDeserializationBlackList()
      • getDeserializationWhiteList

        public java.lang.String getDeserializationWhiteList()
      • ackAllConsumers

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

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

        public javax.jms.QueueBrowser createBrowser​(javax.jms.Queue queue,
                                                    java.lang.String filterString)
                                             throws javax.jms.JMSException
        Specified by:
        createBrowser in interface javax.jms.QueueSession
        Specified by:
        createBrowser in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createTemporaryQueue

        public javax.jms.TemporaryQueue createTemporaryQueue()
                                                      throws javax.jms.JMSException
        Specified by:
        createTemporaryQueue in interface javax.jms.QueueSession
        Specified by:
        createTemporaryQueue in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createTemporaryTopic

        public javax.jms.TemporaryTopic createTemporaryTopic()
                                                      throws javax.jms.JMSException
        Specified by:
        createTemporaryTopic in interface javax.jms.Session
        Specified by:
        createTemporaryTopic in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • unsubscribe

        public void unsubscribe​(java.lang.String name)
                         throws javax.jms.JMSException
        Specified by:
        unsubscribe in interface javax.jms.Session
        Specified by:
        unsubscribe in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • getSession

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

        public javax.transaction.xa.XAResource getXAResource()
      • createReceiver

        public javax.jms.QueueReceiver createReceiver​(javax.jms.Queue queue,
                                                      java.lang.String messageSelector)
                                               throws javax.jms.JMSException
        Specified by:
        createReceiver in interface javax.jms.QueueSession
        Throws:
        javax.jms.JMSException
      • createReceiver

        public javax.jms.QueueReceiver createReceiver​(javax.jms.Queue queue)
                                               throws javax.jms.JMSException
        Specified by:
        createReceiver in interface javax.jms.QueueSession
        Throws:
        javax.jms.JMSException
      • createSender

        public javax.jms.QueueSender createSender​(javax.jms.Queue queue)
                                           throws javax.jms.JMSException
        Specified by:
        createSender in interface javax.jms.QueueSession
        Throws:
        javax.jms.JMSException
      • getQueueSession

        public javax.jms.QueueSession getQueueSession()
                                               throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • createPublisher

        public javax.jms.TopicPublisher createPublisher​(javax.jms.Topic topic)
                                                 throws javax.jms.JMSException
        Specified by:
        createPublisher in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • createSubscriber

        public javax.jms.TopicSubscriber createSubscriber​(javax.jms.Topic topic,
                                                          java.lang.String messageSelector,
                                                          boolean noLocal)
                                                   throws javax.jms.JMSException
        Specified by:
        createSubscriber in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • createSubscriber

        public javax.jms.TopicSubscriber createSubscriber​(javax.jms.Topic topic)
                                                   throws javax.jms.JMSException
        Specified by:
        createSubscriber in interface javax.jms.TopicSession
        Throws:
        javax.jms.JMSException
      • getTopicSession

        public javax.jms.TopicSession getTopicSession()
                                               throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isRecoverCalled

        public boolean isRecoverCalled()
      • setRecoverCalled

        public void setRecoverCalled​(boolean recoverCalled)
      • deleteTemporaryTopic

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

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

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

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

        public boolean isEnable1xPrefixes()