Class InboundSession

  • All Implemented Interfaces:
    jakarta.jms.MessageListener, jakarta.jms.ServerSession, jakarta.resource.spi.work.Work, Runnable

    class InboundSession
    extends Object
    implements jakarta.jms.ServerSession, jakarta.resource.spi.work.Work, jakarta.jms.MessageListener
    An InboundSession instance is responsible for processing delivered messages within a jakarta.resource.spi.Work instance, and passing them to a set of application server endpoints.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private InboundConsumer consumer
      InboundConsumer instance this session belongs to.
      private static boolean DEBUG  
      private jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory
      Application's endpoints factory.
      private static Logger logger  
      private jakarta.jms.Session session
      Session instance dedicated to processing the delivered messages.
      private jakarta.resource.spi.work.WorkManager workManager
      Application server's WorkManager instance.
      private XAResource xaResource
      XAResource instance, if any.
    • Constructor Summary

      Constructors 
      Constructor Description
      InboundSession​(InboundConsumer consumer, jakarta.resource.spi.work.WorkManager workManager, jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory, jakarta.jms.XAConnection cnx, boolean transacted, int ackMode)
      Constructs an InboundSession instance.
    • Field Detail

      • logger

        private static final Logger logger
      • DEBUG

        private static final boolean DEBUG
      • consumer

        private InboundConsumer consumer
        InboundConsumer instance this session belongs to.
      • workManager

        private jakarta.resource.spi.work.WorkManager workManager
        Application server's WorkManager instance.
      • endpointFactory

        private jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory
        Application's endpoints factory.
      • session

        private jakarta.jms.Session session
        Session instance dedicated to processing the delivered messages.
      • xaResource

        private XAResource xaResource
        XAResource instance, if any.
    • Constructor Detail

      • InboundSession

        InboundSession​(InboundConsumer consumer,
                       jakarta.resource.spi.work.WorkManager workManager,
                       jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory,
                       jakarta.jms.XAConnection cnx,
                       boolean transacted,
                       int ackMode)
        Constructs an InboundSession instance.
        Parameters:
        consumer - InboundConsumer creating this session.
        workManager - Application server's WorkManager instance.
        endpointFactory - Application's endpoints factory.
        cnx - Connection to the underlying JORAM server.
        transacted - true if deliveries occur within a XA transaction.
    • Method Detail

      • getSession

        public jakarta.jms.Session getSession()
                                       throws jakarta.jms.JMSException
        Provides the wrapped Session instance for processing delivered messages.
        Specified by:
        getSession in interface jakarta.jms.ServerSession
        Throws:
        jakarta.jms.JMSException - Never thrown.
      • start

        public void start()
                   throws jakarta.jms.JMSException
        Notifies that the messages are ready to be processed.
        Specified by:
        start in interface jakarta.jms.ServerSession
        Throws:
        jakarta.jms.JMSException - If submitting the processing work fails.
      • release

        public void release()
        jakarta.resource.spi.Work method, not effective.
        Specified by:
        release in interface jakarta.resource.spi.work.Work
      • run

        public void run()
        Runs the wrapped session for processing the messages.
        Specified by:
        run in interface Runnable
      • onMessage

        public void onMessage​(jakarta.jms.Message message)
        Forwards a processed message to an endpoint.
        Specified by:
        onMessage in interface jakarta.jms.MessageListener