Class SessionProxy

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.lang.Runnable, javax.jms.Session

    public class SessionProxy
    extends java.lang.Object
    implements javax.jms.Session
    Proxy session to wrap around provided XASession.
    Author:
    Gytis Trikleris
    • Constructor Detail

      • SessionProxy

        public SessionProxy​(javax.jms.XASession xaSession,
                            TransactionHelper transactionHelper)
        Parameters:
        xaSession - XA session that needs to be proxied.
        transactionHelper - utility to make transaction resources registration easier.
    • Method Detail

      • close

        public void close()
                   throws javax.jms.JMSException
        Simply close proxied session if there is no active transaction. Or if transaction exists, delist session's XA resource and register a SessionClosingSynchronization to close the proxied session.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • 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 serializable)
                                                    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 s)
                                                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
      • 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
      • 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 messageListener)
                                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 s)
                                                 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 s,
                                                        boolean b)
                                                 throws javax.jms.JMSException
        Specified by:
        createConsumer in interface javax.jms.Session
        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 sharedSubscriptionName,
                                                              java.lang.String messageSelector)
                                                       throws javax.jms.JMSException
        Specified by:
        createSharedConsumer in interface javax.jms.Session
        Throws:
        javax.jms.JMSException
      • createQueue

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

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

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

        public javax.jms.TopicSubscriber createDurableSubscriber​(javax.jms.Topic topic,
                                                                 java.lang.String s,
                                                                 java.lang.String s1,
                                                                 boolean b)
                                                          throws javax.jms.JMSException
        Specified by:
        createDurableSubscriber in interface javax.jms.Session
        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
      • createBrowser

        public javax.jms.QueueBrowser createBrowser​(javax.jms.Queue queue)
                                             throws javax.jms.JMSException
        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 s)
                                             throws javax.jms.JMSException
        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.Session
        Throws:
        javax.jms.JMSException
      • createTemporaryTopic

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

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