Class ManagedConnectionProxy

java.lang.Object
org.apache.activemq.ra.ManagedConnectionProxy
All Implemented Interfaces:
jakarta.jms.Connection, jakarta.jms.ExceptionListener, jakarta.jms.QueueConnection, jakarta.jms.TopicConnection, AutoCloseable

public class ManagedConnectionProxy extends Object implements jakarta.jms.Connection, jakarta.jms.QueueConnection, jakarta.jms.TopicConnection, jakarta.jms.ExceptionListener
Acts as a pass through proxy for a JMS Connection object. It intercepts events that are of interest of the ActiveMQManagedConnection.
  • Constructor Details

    • ManagedConnectionProxy

      public ManagedConnectionProxy(ActiveMQManagedConnection managedConnection, jakarta.resource.spi.ConnectionRequestInfo info)
  • Method Details

    • close

      public void close() throws jakarta.jms.JMSException
      Used to let the ActiveMQManagedConnection that this connection handel is not needed by the app.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException
    • cleanup

      public void cleanup()
      Called by the ActiveMQManagedConnection to invalidate this proxy.
    • createSession

      public jakarta.jms.Session createSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException
      Specified by:
      createSession in interface jakarta.jms.Connection
      Parameters:
      transacted - Whether session is transacted
      acknowledgeMode - session acknowledge mode
      Returns:
      session proxy
      Throws:
      jakarta.jms.JMSException - on error
    • sessionClosed

      protected void sessionClosed(ManagedSessionProxy session)
    • setUseSharedTxContext

      public void setUseSharedTxContext(boolean enable) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • createQueueSession

      public jakarta.jms.QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException
      Specified by:
      createQueueSession in interface jakarta.jms.QueueConnection
      Parameters:
      transacted - Whether session is transacted
      acknowledgeMode - session acknowledge mode
      Returns:
      session proxy
      Throws:
      jakarta.jms.JMSException - on error
    • createTopicSession

      public jakarta.jms.TopicSession createTopicSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException
      Specified by:
      createTopicSession in interface jakarta.jms.TopicConnection
      Parameters:
      transacted - Whether session is transacted
      acknowledgeMode - session acknowledge mode
      Returns:
      session proxy
      Throws:
      jakarta.jms.JMSException - on error
    • getClientID

      public String getClientID() throws jakarta.jms.JMSException
      Specified by:
      getClientID in interface jakarta.jms.Connection
      Returns:
      client id from delegate
      Throws:
      jakarta.jms.JMSException
    • getExceptionListener

      public jakarta.jms.ExceptionListener getExceptionListener() throws jakarta.jms.JMSException
      Specified by:
      getExceptionListener in interface jakarta.jms.Connection
      Returns:
      exception listener from delegate
      Throws:
      jakarta.jms.JMSException
    • getMetaData

      public jakarta.jms.ConnectionMetaData getMetaData() throws jakarta.jms.JMSException
      Specified by:
      getMetaData in interface jakarta.jms.Connection
      Returns:
      connection metadata from delegate
      Throws:
      jakarta.jms.JMSException
    • setClientID

      public void setClientID(String clientID) throws jakarta.jms.JMSException
      Sets client id on delegate
      Specified by:
      setClientID in interface jakarta.jms.Connection
      Parameters:
      clientID - new clientId
      Throws:
      jakarta.jms.JMSException
    • setExceptionListener

      public void setExceptionListener(jakarta.jms.ExceptionListener listener) throws jakarta.jms.JMSException
      sets exception listener on delegate
      Specified by:
      setExceptionListener in interface jakarta.jms.Connection
      Parameters:
      listener - new listener
      Throws:
      jakarta.jms.JMSException
    • start

      public void start() throws jakarta.jms.JMSException
      Specified by:
      start in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException
    • stop

      public void stop() throws jakarta.jms.JMSException
      Specified by:
      stop in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException
    • createConnectionConsumer

      public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Queue queue, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createConnectionConsumer in interface jakarta.jms.QueueConnection
      Parameters:
      queue -
      messageSelector -
      sessionPool -
      maxMessages -
      Returns:
      Throws:
      jakarta.jms.JMSException
    • createConnectionConsumer

      public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Topic topic, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createConnectionConsumer in interface jakarta.jms.TopicConnection
      Parameters:
      topic -
      messageSelector -
      sessionPool -
      maxMessages -
      Returns:
      Throws:
      jakarta.jms.JMSException
    • createConnectionConsumer

      public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Destination destination, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createConnectionConsumer in interface jakarta.jms.Connection
      Parameters:
      destination -
      messageSelector -
      sessionPool -
      maxMessages -
      Returns:
      Throws:
      jakarta.jms.JMSException
    • createDurableConnectionConsumer

      public jakarta.jms.ConnectionConsumer createDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createDurableConnectionConsumer in interface jakarta.jms.Connection
      Specified by:
      createDurableConnectionConsumer in interface jakarta.jms.TopicConnection
      Parameters:
      topic -
      subscriptionName -
      messageSelector -
      sessionPool -
      maxMessages -
      Returns:
      Throws:
      jakarta.jms.JMSException
    • getManagedConnection

      public ActiveMQManagedConnection getManagedConnection()
      Returns:
      Returns the managedConnection.
    • onException

      public void onException(jakarta.jms.JMSException e)
      Specified by:
      onException in interface jakarta.jms.ExceptionListener
    • createSession

      public jakarta.jms.Session createSession() throws jakarta.jms.JMSException
      Creates a Session object.
      Specified by:
      createSession in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException - if the Connection object fails to create a session due to some internal error or lack of support for the specific transaction and acknowledgement mode.
      Since:
      2.0
    • createSession

      public jakarta.jms.Session createSession(int sessionMode) throws jakarta.jms.JMSException
      Creates a Session object.
      Specified by:
      createSession in interface jakarta.jms.Connection
      Parameters:
      acknowledgeMode - indicates whether the consumer or the client will acknowledge any messages it receives; ignored if the session is transacted. Legal values are Session.AUTO_ACKNOWLEDGE, Session.CLIENT_ACKNOWLEDGE, and Session.DUPS_OK_ACKNOWLEDGE.
      Returns:
      a newly created session
      Throws:
      jakarta.jms.JMSException - if the Connection object fails to create a session due to some internal error or lack of support for the specific transaction and acknowledgement mode.
      Since:
      2.0
      See Also:
      • Session.AUTO_ACKNOWLEDGE
      • Session.CLIENT_ACKNOWLEDGE
      • Session.DUPS_OK_ACKNOWLEDGE
    • createSharedConnectionConsumer

      public jakarta.jms.ConnectionConsumer createSharedConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createSharedConnectionConsumer in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException
      Since:
      2.0
      See Also:
      • ConnectionConsumer
    • createSharedDurableConnectionConsumer

      public jakarta.jms.ConnectionConsumer createSharedDurableConnectionConsumer(jakarta.jms.Topic topic, String subscriptionName, String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException
      Specified by:
      createSharedDurableConnectionConsumer in interface jakarta.jms.Connection
      Throws:
      jakarta.jms.JMSException
      Since:
      2.0
      See Also:
      • ConnectionConsumer