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,ProtocolManager<AmqpInterceptor,AMQPRoutingHandler>,ClientProtocolManager
public class ProtonClientProtocolManager extends ProtonProtocolManager implements 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(String nodeID)booleancleanupBeforeFailover(ActiveMQException cause)RemotingConnectionconnect(Connection transportConnection, long callTimeout, long callFailoverTimeout, List<Interceptor> incomingInterceptors, List<Interceptor> outgoingInterceptors, TopologyResponseHandler topologyResponseHandler)SessionContextcreateSessionContext(String name, String username, String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize, String clientID)RemotingConnectiongetCurrentConnection()StringgetName()ClientSessionFactorygetSessionFactory()booleanisAlive()LocklockSessionCreation()voidping(long connectionTTL)voidsendSubscribeTopology(boolean isServer)ClientProtocolManagersetExecutor(Executor executor)voidsetSessionFactory(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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.artemis.spi.core.protocol.ProtocolManager
removeHandler
-
-
-
-
Constructor Detail
-
ProtonClientProtocolManager
public ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server)
-
-
Method Detail
-
setExecutor
public ClientProtocolManager setExecutor(Executor executor)
- Specified by:
setExecutorin interfaceClientProtocolManager
-
stop
public void stop()
- Specified by:
stopin interfaceClientProtocolManager
-
connect
public RemotingConnection connect(Connection transportConnection, long callTimeout, long callFailoverTimeout, List<Interceptor> incomingInterceptors, List<Interceptor> outgoingInterceptors, TopologyResponseHandler topologyResponseHandler)
- Specified by:
connectin interfaceClientProtocolManager
-
getCurrentConnection
public RemotingConnection getCurrentConnection()
- Specified by:
getCurrentConnectionin interfaceClientProtocolManager
-
lockSessionCreation
public Lock lockSessionCreation()
- Specified by:
lockSessionCreationin interfaceClientProtocolManager
-
waitOnLatch
public boolean waitOnLatch(long milliseconds) throws InterruptedException- Specified by:
waitOnLatchin interfaceClientProtocolManager- Throws:
InterruptedException
-
isAlive
public boolean isAlive()
- Specified by:
isAlivein interfaceClientProtocolManager
-
addChannelHandlers
public void addChannelHandlers(io.netty.channel.ChannelPipeline pipeline)
- Specified by:
addChannelHandlersin interfaceClientProtocolManager- Specified by:
addChannelHandlersin interfaceProtocolManager<AmqpInterceptor,AMQPRoutingHandler>- Overrides:
addChannelHandlersin classProtonProtocolManager
-
sendSubscribeTopology
public void sendSubscribeTopology(boolean isServer)
- Specified by:
sendSubscribeTopologyin interfaceClientProtocolManager
-
ping
public void ping(long connectionTTL)
- Specified by:
pingin interfaceClientProtocolManager
-
createSessionContext
public SessionContext createSessionContext(String name, String username, String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize, String clientID) throws ActiveMQException
- Specified by:
createSessionContextin interfaceClientProtocolManager- Throws:
ActiveMQException
-
cleanupBeforeFailover
public boolean cleanupBeforeFailover(ActiveMQException cause)
- Specified by:
cleanupBeforeFailoverin interfaceClientProtocolManager
-
checkForFailover
public boolean checkForFailover(String nodeID) throws ActiveMQException
- Specified by:
checkForFailoverin interfaceClientProtocolManager- Throws:
ActiveMQException
-
setSessionFactory
public void setSessionFactory(ClientSessionFactory factory)
- Specified by:
setSessionFactoryin interfaceClientProtocolManager
-
getSessionFactory
public ClientSessionFactory getSessionFactory()
- Specified by:
getSessionFactoryin interfaceClientProtocolManager
-
getName
public String getName()
- Specified by:
getNamein interfaceClientProtocolManager
-
-