Class ProtonClientProtocolManager
- java.lang.Object
-
- org.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<AMQPMessage,AmqpInterceptor,ActiveMQProtonRemotingConnection,AMQPRoutingHandler>
-
- org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager
-
- org.apache.activemq.artemis.protocol.amqp.client.ProtonClientProtocolManager
-
- All Implemented Interfaces:
org.apache.activemq.artemis.core.server.management.NotificationListener,org.apache.activemq.artemis.spi.core.protocol.ProtocolManager<AmqpInterceptor,AMQPRoutingHandler>,org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
public class ProtonClientProtocolManager extends ProtonProtocolManager implements org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
Handles proton protocol management for clients, mapping theProtonProtocolManagerto theClientProtocolManagerAPI. This is currently very basic and only supports Connecting to a broker, which will be useful in scenarios where the broker needs to connect to another broker through AMQP into another broker (like Interconnect) that will perform extra functionality.
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager
MIRROR_ADDRESS
-
-
Constructor Summary
Constructors Constructor Description ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChannelHandlers(io.netty.channel.ChannelPipeline pipeline)booleancheckForFailover(java.lang.String liveNodeID)booleancleanupBeforeFailover(org.apache.activemq.artemis.api.core.ActiveMQException cause)org.apache.activemq.artemis.spi.core.protocol.RemotingConnectionconnect(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.SessionContextcreateSessionContext(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.RemotingConnectiongetCurrentConnection()java.lang.StringgetName()org.apache.activemq.artemis.api.core.client.ClientSessionFactorygetSessionFactory()booleanisAlive()java.util.concurrent.locks.LocklockSessionCreation()voidping(long connectionTTL)voidsendSubscribeTopology(boolean isServer)org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManagersetExecutor(java.util.concurrent.Executor executor)voidsetSessionFactory(org.apache.activemq.artemis.api.core.client.ClientSessionFactory factory)voidstop()booleanwaitOnLatch(long milliseconds)-
Methods inherited from class org.apache.activemq.artemis.protocol.amqp.broker.ProtonProtocolManager
acceptsNoHandshake, createClientManager, createConnectionEntry, createOutgoingConnectionEntry, createOutgoingConnectionEntry, getAmqpCredits, getAmqpIdleTimeout, getAmqpLowCredits, getAmqpMinLargeMessageSize, getFactory, getInitialRemoteMaxFrameSize, getMaxFrameSize, getMirrorAddress, getPrefixes, getPubSubPrefix, getReferenceIDSupplier, getRoutingHandler, getSaslLoginConfigScope, getSaslMechanisms, getServer, handleBuffer, handshake, invokeIncoming, invokeOutgoing, isAmqpDuplicateDetection, isAmqpTreatRejectAsUnmodifiedDeliveryFailed, isDirectDeliver, isProtocol, isUseModifiedForTransientDeliveryErrors, onNotification, setAmqpCredits, setAmqpDuplicateDetection, setAmqpIdleTimeout, setAmqpLowCredits, setAmqpMinLargeMessageSize, setAmqpTreatRejectAsUnmodifiedDeliveryFailed, setAmqpUseModifiedForTransientDeliveryErrors, setAnycastPrefix, setDirectDeliver, setInitialRemoteMaxFrameSize, setMaxFrameSize, setMulticastPrefix, setPubSubPrefix, setSaslLoginConfigScope, setSaslMechanisms, updateInterceptors, websocketSubprotocolIdentifiers
-
Methods inherited from class org.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager
getSecurityDomain, invokeInterceptors, setSecurityDomain
-
-
-
-
Constructor Detail
-
ProtonClientProtocolManager
public ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server)
-
-
Method Detail
-
setExecutor
public org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager setExecutor(java.util.concurrent.Executor executor)
- Specified by:
setExecutorin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
stop
public void stop()
- Specified by:
stopin interfaceorg.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:
connectin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
getCurrentConnection
public org.apache.activemq.artemis.spi.core.protocol.RemotingConnection getCurrentConnection()
- Specified by:
getCurrentConnectionin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
lockSessionCreation
public java.util.concurrent.locks.Lock lockSessionCreation()
- Specified by:
lockSessionCreationin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
waitOnLatch
public boolean waitOnLatch(long milliseconds) throws java.lang.InterruptedException- Specified by:
waitOnLatchin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager- Throws:
java.lang.InterruptedException
-
isAlive
public boolean isAlive()
- Specified by:
isAlivein interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
addChannelHandlers
public void addChannelHandlers(io.netty.channel.ChannelPipeline pipeline)
- Specified by:
addChannelHandlersin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager- Specified by:
addChannelHandlersin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<AmqpInterceptor,AMQPRoutingHandler>- Overrides:
addChannelHandlersin classProtonProtocolManager
-
sendSubscribeTopology
public void sendSubscribeTopology(boolean isServer)
- Specified by:
sendSubscribeTopologyin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
ping
public void ping(long connectionTTL)
- Specified by:
pingin interfaceorg.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:
createSessionContextin interfaceorg.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:
cleanupBeforeFailoverin interfaceorg.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:
checkForFailoverin interfaceorg.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:
setSessionFactoryin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
getSessionFactory
public org.apache.activemq.artemis.api.core.client.ClientSessionFactory getSessionFactory()
- Specified by:
getSessionFactoryin interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceorg.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager
-
-