Class AMQPBrokerConnectionManager.ClientProtocolManagerWithAMQP

  • All Implemented Interfaces:
    org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
    Enclosing class:
    AMQPBrokerConnectionManager

    public static class AMQPBrokerConnectionManager.ClientProtocolManagerWithAMQP
    extends java.lang.Object
    implements org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
    The Client Protocol Manager is used for Core Clients. As we are reusing the NettyConnector the API requires a ClientProtocolManager. This is to give us the reference for the AMQPConnection used.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addChannelHandlers​(io.netty.channel.ChannelPipeline pipeline)  
      boolean checkForFailover​(java.lang.String liveNodeID)  
      boolean cleanupBeforeFailover​(org.apache.activemq.artemis.api.core.ActiveMQException cause)  
      org.apache.activemq.artemis.spi.core.protocol.RemotingConnection connect​(org.apache.activemq.artemis.spi.core.remoting.Connection transportConnection, long callTimeout, long callFailoverTimeout, java.util.List<org.apache.activemq.artemis.api.core.Interceptor> incomingInterceptors, java.util.List<org.apache.activemq.artemis.api.core.Interceptor> outgoingInterceptors, org.apache.activemq.artemis.spi.core.remoting.TopologyResponseHandler topologyResponseHandler)  
      org.apache.activemq.artemis.spi.core.remoting.SessionContext createSessionContext​(java.lang.String name, java.lang.String username, java.lang.String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize, java.lang.String clientID)  
      org.apache.activemq.artemis.spi.core.protocol.RemotingConnection getCurrentConnection()  
      java.lang.String getName()  
      ProtonProtocolManager getProtonPM()  
      org.apache.activemq.artemis.api.core.client.ClientSessionFactory getSessionFactory()  
      boolean isAlive()  
      java.util.concurrent.locks.Lock lockSessionCreation()  
      void ping​(long connectionTTL)  
      void sendSubscribeTopology​(boolean isServer)  
      org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager setExecutor​(java.util.concurrent.Executor executor)  
      void setSessionFactory​(org.apache.activemq.artemis.api.core.client.ClientSessionFactory factory)  
      void stop()  
      boolean waitOnLatch​(long milliseconds)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ClientProtocolManagerWithAMQP

        public ClientProtocolManagerWithAMQP​(ProtonProtocolManager protonPM)
    • Method Detail

      • setExecutor

        public org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager setExecutor​(java.util.concurrent.Executor executor)
        Specified by:
        setExecutor in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • connect

        public org.apache.activemq.artemis.spi.core.protocol.RemotingConnection connect​(org.apache.activemq.artemis.spi.core.remoting.Connection transportConnection,
                                                                                        long callTimeout,
                                                                                        long callFailoverTimeout,
                                                                                        java.util.List<org.apache.activemq.artemis.api.core.Interceptor> incomingInterceptors,
                                                                                        java.util.List<org.apache.activemq.artemis.api.core.Interceptor> outgoingInterceptors,
                                                                                        org.apache.activemq.artemis.spi.core.remoting.TopologyResponseHandler topologyResponseHandler)
        Specified by:
        connect in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • getCurrentConnection

        public org.apache.activemq.artemis.spi.core.protocol.RemotingConnection getCurrentConnection()
        Specified by:
        getCurrentConnection in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • lockSessionCreation

        public java.util.concurrent.locks.Lock lockSessionCreation()
        Specified by:
        lockSessionCreation in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • waitOnLatch

        public boolean waitOnLatch​(long milliseconds)
                            throws java.lang.InterruptedException
        Specified by:
        waitOnLatch in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
        Throws:
        java.lang.InterruptedException
      • stop

        public void stop()
        Specified by:
        stop in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • isAlive

        public boolean isAlive()
        Specified by:
        isAlive in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • addChannelHandlers

        public void addChannelHandlers​(io.netty.channel.ChannelPipeline pipeline)
        Specified by:
        addChannelHandlers in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • sendSubscribeTopology

        public void sendSubscribeTopology​(boolean isServer)
        Specified by:
        sendSubscribeTopology in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • ping

        public void ping​(long connectionTTL)
        Specified by:
        ping in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • createSessionContext

        public org.apache.activemq.artemis.spi.core.remoting.SessionContext createSessionContext​(java.lang.String name,
                                                                                                 java.lang.String username,
                                                                                                 java.lang.String password,
                                                                                                 boolean xa,
                                                                                                 boolean autoCommitSends,
                                                                                                 boolean autoCommitAcks,
                                                                                                 boolean preAcknowledge,
                                                                                                 int minLargeMessageSize,
                                                                                                 int confirmationWindowSize,
                                                                                                 java.lang.String clientID)
                                                                                          throws org.apache.activemq.artemis.api.core.ActiveMQException
        Specified by:
        createSessionContext in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
        Throws:
        org.apache.activemq.artemis.api.core.ActiveMQException
      • cleanupBeforeFailover

        public boolean cleanupBeforeFailover​(org.apache.activemq.artemis.api.core.ActiveMQException cause)
        Specified by:
        cleanupBeforeFailover in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • checkForFailover

        public boolean checkForFailover​(java.lang.String liveNodeID)
                                 throws org.apache.activemq.artemis.api.core.ActiveMQException
        Specified by:
        checkForFailover in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
        Throws:
        org.apache.activemq.artemis.api.core.ActiveMQException
      • setSessionFactory

        public void setSessionFactory​(org.apache.activemq.artemis.api.core.client.ClientSessionFactory factory)
        Specified by:
        setSessionFactory in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • getSessionFactory

        public org.apache.activemq.artemis.api.core.client.ClientSessionFactory getSessionFactory()
        Specified by:
        getSessionFactory in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager