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 the
ProtonProtocolManager to the
ClientProtocolManager API. 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 ProtonProtocolManager
MIRROR_ADDRESS -
Constructor Summary
ConstructorsConstructorDescriptionProtonClientProtocolManager(ProtonProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChannelHandlers(io.netty.channel.ChannelPipeline pipeline) booleancheckForFailover(String nodeID) booleanconnect(Connection transportConnection, long callTimeout, long callFailoverTimeout, List<Interceptor> incomingInterceptors, List<Interceptor> outgoingInterceptors, TopologyResponseHandler topologyResponseHandler) createSessionContext(String name, String username, String password, boolean xa, boolean autoCommitSends, boolean autoCommitAcks, boolean preAcknowledge, int minLargeMessageSize, int confirmationWindowSize, String clientID) getName()booleanisAlive()voidping(long connectionTTL) voidsendSubscribeTopology(boolean isServer) setExecutor(Executor executor) voidsetSessionFactory(ClientSessionFactory factory) voidstop()booleanwaitOnLatch(long milliseconds) Methods inherited from class ProtonProtocolManager
acceptsNoHandshake, createClientManager, createConnectionEntry, createOutgoingConnectionEntry, createOutgoingConnectionEntry, createOutgoingConnectionEntry, createOutgoingConnectionEntry, getAckManagerFlushTimeout, getAmqpCredits, getAmqpIdleTimeout, getAmqpLowCredits, getAmqpMinLargeMessageSize, getFactory, getInitialRemoteMaxFrameSize, getLinkQuiesceTimeout, getMaxFrameSize, getMirrorAddress, getMirrorMaxPendingAcks, getPrefixes, getPubSubPrefix, getReferenceIDSupplier, getRoutingHandler, getSaslLoginConfigScope, getSaslMechanisms, getServer, handleBuffer, handshake, invokeIncoming, invokeOutgoing, isAmqpDuplicateDetection, isAmqpTreatRejectAsUnmodifiedDeliveryFailed, isDirectDeliver, isDrainOnTransientDeliveryErrors, isProtocol, isUseModifiedForTransientDeliveryErrors, onNotification, setAckManagerFlushTimeout, setAmqpCredits, setAmqpDrainOnTransientDeliveryErrors, setAmqpDuplicateDetection, setAmqpIdleTimeout, setAmqpLinkQuiesceTimeout, setAmqpLowCredits, setAmqpMinLargeMessageSize, setAmqpTreatRejectAsUnmodifiedDeliveryFailed, setAmqpUseModifiedForTransientDeliveryErrors, setAnycastPrefix, setDirectDeliver, setInitialRemoteMaxFrameSize, setMaxFrameSize, setMirrorMaxPendingAcks, setMulticastPrefix, setPubSubPrefix, setSaslLoginConfigScope, setSaslMechanisms, updateInterceptors, websocketSubprotocolIdentifiersMethods inherited from class AbstractProtocolManager
getSecurityDomain, invokeInterceptors, setSecurityDomainMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ProtocolManager
removeHandler
-
Constructor Details
-
ProtonClientProtocolManager
public ProtonClientProtocolManager(ProtonProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server)
-
-
Method Details
-
setExecutor
- 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
- Specified by:
getCurrentConnectionin interfaceClientProtocolManager
-
lockSessionCreation
- Specified by:
lockSessionCreationin interfaceClientProtocolManager
-
waitOnLatch
- 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
- Specified by:
cleanupBeforeFailoverin interfaceClientProtocolManager
-
checkForFailover
- Specified by:
checkForFailoverin interfaceClientProtocolManager- Throws:
ActiveMQException
-
setSessionFactory
- Specified by:
setSessionFactoryin interfaceClientProtocolManager
-
getSessionFactory
- Specified by:
getSessionFactoryin interfaceClientProtocolManager
-
getName
- Specified by:
getNamein interfaceClientProtocolManager
-