Class OpenWireProtocolManager
- java.lang.Object
-
- org.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
- org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager
-
- All Implemented Interfaces:
org.apache.activemq.artemis.api.core.client.ClusterTopologyListener,org.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
public class OpenWireProtocolManager extends org.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler> implements org.apache.activemq.artemis.api.core.client.ClusterTopologyListener
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classOpenWireProtocolManager.VirtualTopicConfig
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.activemq.command.ProducerIdadvisoryProducerIdprotected org.apache.activemq.artemis.selector.impl.LRUCache<org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQDestination>vtDestMapCache
-
Constructor Summary
Constructors Constructor Description OpenWireProtocolManager(OpenWireProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server, java.util.List<org.apache.activemq.artemis.api.core.BaseInterceptor> incomingInterceptors, java.util.List<org.apache.activemq.artemis.api.core.BaseInterceptor> outgoingInterceptors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptsNoHandshake()voidaddChannelHandlers(io.netty.channel.ChannelPipeline pipeline)voidaddConnection(OpenWireConnection connection, org.apache.activemq.command.ConnectionInfo info)voidconfigureInactivityParams(OpenWireConnection connection, org.apache.activemq.command.WireFormatInfo command)org.apache.activemq.artemis.spi.core.protocol.ConnectionEntrycreateConnectionEntry(org.apache.activemq.artemis.spi.core.remoting.Acceptor acceptorUsed, org.apache.activemq.artemis.spi.core.remoting.Connection connection)voidfireAdvisory(AMQConnectionContext context, org.apache.activemq.command.ActiveMQTopic topic, org.apache.activemq.command.Command copy)voidfireAdvisory(AMQConnectionContext context, org.apache.activemq.command.ActiveMQTopic topic, org.apache.activemq.command.Command command, org.apache.activemq.command.ConsumerId targetConsumerId, java.lang.String originalConnectionId)intgetActorThresholdBytes()if set, the OpenWire connection will bypass the tcpReadBuferSize and use this value instead.org.apache.activemq.command.BrokerIdgetBrokerId()java.lang.StringgetBrokerName()java.util.List<OpenWireConnection>getConnections()org.apache.activemq.artemis.spi.core.protocol.ProtocolManagerFactorygetFactory()longgetMaxInactivityDuration()longgetMaxInactivityDurationInitalDelay()intgetOpenWireDestinationCacheSize()java.util.Map<org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.api.core.RoutingType>getPrefixes()OpenWireRoutingHandlergetRoutingHandler()java.util.concurrent.ScheduledExecutorServicegetScheduledPool()java.lang.StringgetSecurityDomain()org.apache.activemq.artemis.core.server.ActiveMQServergetServer()java.util.List<org.apache.activemq.command.DestinationInfo>getTemporaryDestinations()voidhandleBuffer(org.apache.activemq.artemis.spi.core.protocol.RemotingConnection connection, org.apache.activemq.artemis.api.core.ActiveMQBuffer buffer)voidhandshake(org.apache.activemq.artemis.core.remoting.impl.netty.NettyServerConnection connection, org.apache.activemq.artemis.api.core.ActiveMQBuffer buffer)java.lang.StringinvokeIncoming(org.apache.activemq.command.Command command, OpenWireConnection connection)java.lang.StringinvokeOutgoing(org.apache.activemq.command.Command command, OpenWireConnection connection)booleanisFaultTolerantConfiguration()booleanisOpenwireUseDuplicateDetectionOnFailover()Is Duplicate detection enabled when used with failover clients.booleanisProtocol(byte[] array)booleanisRebalanceClusterClients()URI propertybooleanisStopped()booleanisStopping()booleanisSupportAdvisory()booleanisSuppressInternalManagementObjects()booleanisUpdateClusterClients()booleanisUpdateClusterClientsOnRemove()URI propertybooleanisUseKeepAlive()protected org.apache.activemq.command.ConnectionControlnewConnectionControl()voidnodeDown(long eventUID, java.lang.String nodeID)voidnodeUP(org.apache.activemq.artemis.api.core.client.TopologyMember member, boolean last)voidpostProcessDispatch(org.apache.activemq.command.MessageDispatch md)voidpreProcessDispatch(org.apache.activemq.command.MessageDispatch messageDispatch)voidremoveConnection(org.apache.activemq.command.ConnectionInfo info, java.lang.Throwable error)voidsendBrokerInfo(OpenWireConnection connection)OpenWireProtocolManagersetActorThresholdBytes(int actorThresholdBytes)voidsetAnycastPrefix(java.lang.String anycastPrefix)voidsetBrokerName(java.lang.String name)voidsetMaxInactivityDuration(long maxInactivityDuration)voidsetMaxInactivityDurationInitalDelay(long maxInactivityDurationInitalDelay)voidsetMulticastPrefix(java.lang.String multicastPrefix)voidsetOpenWireDestinationCacheSize(int openWireDestinationCacheSize)OpenWireProtocolManagersetOpenwireUseDuplicateDetectionOnFailover(boolean openwireUseDuplicateDetectionOnFailover)should it use duplicate detection on failover clients.voidsetRebalanceClusterClients(boolean rebalance)URI propertyvoidsetSecurityDomain(java.lang.String securityDomain)voidsetSupportAdvisory(boolean supportAdvisory)voidsetSuppressInternalManagementObjects(boolean suppressInternalManagementObjects)voidsetUpdateClusterClients(boolean updateClusterClients)URI propertyvoidsetUpdateClusterClientsOnRemove(boolean updateClusterClientsOnRemove)URI propertyvoidsetUseKeepAlive(boolean useKeepAlive)voidsetVirtualTopicConsumerLruCacheMax(int max)voidsetVirtualTopicConsumerWildcards(java.lang.String virtualTopicConsumerWildcards)voidupdateInterceptors(java.util.List incoming, java.util.List outgoing)java.lang.StringvalidateUser(java.lang.String login, java.lang.String passcode, OpenWireConnection connection)voidvalidateUser(OpenWireConnection connection, org.apache.activemq.command.ConnectionInfo info)org.apache.activemq.command.ActiveMQDestinationvirtualTopicConsumerToFQQN(org.apache.activemq.command.ActiveMQDestination destination)java.util.List<java.lang.String>websocketSubprotocolIdentifiers()org.apache.activemq.openwire.OpenWireFormatwireFormat()-
Methods inherited from class org.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager
invokeInterceptors
-
-
-
-
Field Detail
-
advisoryProducerId
protected final org.apache.activemq.command.ProducerId advisoryProducerId
-
vtDestMapCache
protected final org.apache.activemq.artemis.selector.impl.LRUCache<org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQDestination> vtDestMapCache
-
-
Constructor Detail
-
OpenWireProtocolManager
public OpenWireProtocolManager(OpenWireProtocolManagerFactory factory, org.apache.activemq.artemis.core.server.ActiveMQServer server, java.util.List<org.apache.activemq.artemis.api.core.BaseInterceptor> incomingInterceptors, java.util.List<org.apache.activemq.artemis.api.core.BaseInterceptor> outgoingInterceptors)
-
-
Method Detail
-
isOpenwireUseDuplicateDetectionOnFailover
public boolean isOpenwireUseDuplicateDetectionOnFailover()
Is Duplicate detection enabled when used with failover clients.
-
setOpenwireUseDuplicateDetectionOnFailover
public OpenWireProtocolManager setOpenwireUseDuplicateDetectionOnFailover(boolean openwireUseDuplicateDetectionOnFailover)
should it use duplicate detection on failover clients.
-
nodeUP
public void nodeUP(org.apache.activemq.artemis.api.core.client.TopologyMember member, boolean last)- Specified by:
nodeUPin interfaceorg.apache.activemq.artemis.api.core.client.ClusterTopologyListener
-
nodeDown
public void nodeDown(long eventUID, java.lang.String nodeID)- Specified by:
nodeDownin interfaceorg.apache.activemq.artemis.api.core.client.ClusterTopologyListener
-
removeConnection
public void removeConnection(org.apache.activemq.command.ConnectionInfo info, java.lang.Throwable error) throws javax.jms.InvalidClientIDException- Throws:
javax.jms.InvalidClientIDException
-
getActorThresholdBytes
public int getActorThresholdBytes()
if set, the OpenWire connection will bypass the tcpReadBuferSize and use this value instead. This is by default -1, and it should not be used unless in extreme situations like on a slow storage.
-
setActorThresholdBytes
public OpenWireProtocolManager setActorThresholdBytes(int actorThresholdBytes)
-
getScheduledPool
public java.util.concurrent.ScheduledExecutorService getScheduledPool()
-
getServer
public org.apache.activemq.artemis.core.server.ActiveMQServer getServer()
-
acceptsNoHandshake
public boolean acceptsNoHandshake()
- Specified by:
acceptsNoHandshakein interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
getFactory
public org.apache.activemq.artemis.spi.core.protocol.ProtocolManagerFactory getFactory()
- Specified by:
getFactoryin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
updateInterceptors
public void updateInterceptors(java.util.List incoming, java.util.List outgoing)- Specified by:
updateInterceptorsin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
invokeIncoming
public java.lang.String invokeIncoming(org.apache.activemq.command.Command command, OpenWireConnection connection)
-
invokeOutgoing
public java.lang.String invokeOutgoing(org.apache.activemq.command.Command command, OpenWireConnection connection)
-
createConnectionEntry
public org.apache.activemq.artemis.spi.core.protocol.ConnectionEntry createConnectionEntry(org.apache.activemq.artemis.spi.core.remoting.Acceptor acceptorUsed, org.apache.activemq.artemis.spi.core.remoting.Connection connection)- Specified by:
createConnectionEntryin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
handleBuffer
public void handleBuffer(org.apache.activemq.artemis.spi.core.protocol.RemotingConnection connection, org.apache.activemq.artemis.api.core.ActiveMQBuffer buffer)- Specified by:
handleBufferin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
addChannelHandlers
public void addChannelHandlers(io.netty.channel.ChannelPipeline pipeline)
- Specified by:
addChannelHandlersin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
isProtocol
public boolean isProtocol(byte[] array)
- Specified by:
isProtocolin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
handshake
public void handshake(org.apache.activemq.artemis.core.remoting.impl.netty.NettyServerConnection connection, org.apache.activemq.artemis.api.core.ActiveMQBuffer buffer)- Specified by:
handshakein interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
websocketSubprotocolIdentifiers
public java.util.List<java.lang.String> websocketSubprotocolIdentifiers()
- Specified by:
websocketSubprotocolIdentifiersin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
validateUser
public void validateUser(OpenWireConnection connection, org.apache.activemq.command.ConnectionInfo info) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addConnection
public void addConnection(OpenWireConnection connection, org.apache.activemq.command.ConnectionInfo info) throws java.lang.Exception
- Throws:
java.lang.Exception
-
fireAdvisory
public void fireAdvisory(AMQConnectionContext context, org.apache.activemq.command.ActiveMQTopic topic, org.apache.activemq.command.Command copy) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getBrokerId
public org.apache.activemq.command.BrokerId getBrokerId()
-
fireAdvisory
public void fireAdvisory(AMQConnectionContext context, org.apache.activemq.command.ActiveMQTopic topic, org.apache.activemq.command.Command command, org.apache.activemq.command.ConsumerId targetConsumerId, java.lang.String originalConnectionId) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getBrokerName
public java.lang.String getBrokerName()
-
newConnectionControl
protected org.apache.activemq.command.ConnectionControl newConnectionControl()
-
isFaultTolerantConfiguration
public boolean isFaultTolerantConfiguration()
-
postProcessDispatch
public void postProcessDispatch(org.apache.activemq.command.MessageDispatch md)
-
isStopped
public boolean isStopped()
-
preProcessDispatch
public void preProcessDispatch(org.apache.activemq.command.MessageDispatch messageDispatch)
-
isStopping
public boolean isStopping()
-
validateUser
public java.lang.String validateUser(java.lang.String login, java.lang.String passcode, OpenWireConnection connection) throws java.lang.Exception- Throws:
java.lang.Exception
-
sendBrokerInfo
public void sendBrokerInfo(OpenWireConnection connection) throws java.lang.Exception
- Throws:
java.lang.Exception
-
configureInactivityParams
public void configureInactivityParams(OpenWireConnection connection, org.apache.activemq.command.WireFormatInfo command) throws java.io.IOException
- Throws:
java.io.IOException
-
setRebalanceClusterClients
public void setRebalanceClusterClients(boolean rebalance)
URI property
-
isRebalanceClusterClients
public boolean isRebalanceClusterClients()
URI property
-
setUpdateClusterClients
public void setUpdateClusterClients(boolean updateClusterClients)
URI property
-
isUpdateClusterClients
public boolean isUpdateClusterClients()
-
setUpdateClusterClientsOnRemove
public void setUpdateClusterClientsOnRemove(boolean updateClusterClientsOnRemove)
URI property
-
isUpdateClusterClientsOnRemove
public boolean isUpdateClusterClientsOnRemove()
URI property
-
setBrokerName
public void setBrokerName(java.lang.String name)
-
isUseKeepAlive
public boolean isUseKeepAlive()
-
setUseKeepAlive
public void setUseKeepAlive(boolean useKeepAlive)
-
getMaxInactivityDuration
public long getMaxInactivityDuration()
-
setMaxInactivityDuration
public void setMaxInactivityDuration(long maxInactivityDuration)
-
getMaxInactivityDurationInitalDelay
public long getMaxInactivityDurationInitalDelay()
-
setMaxInactivityDurationInitalDelay
public void setMaxInactivityDurationInitalDelay(long maxInactivityDurationInitalDelay)
-
setAnycastPrefix
public void setAnycastPrefix(java.lang.String anycastPrefix)
- Specified by:
setAnycastPrefixin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>- Overrides:
setAnycastPrefixin classorg.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
setMulticastPrefix
public void setMulticastPrefix(java.lang.String multicastPrefix)
- Specified by:
setMulticastPrefixin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>- Overrides:
setMulticastPrefixin classorg.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
getPrefixes
public java.util.Map<org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.api.core.RoutingType> getPrefixes()
- Specified by:
getPrefixesin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>- Overrides:
getPrefixesin classorg.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
setSecurityDomain
public void setSecurityDomain(java.lang.String securityDomain)
- Specified by:
setSecurityDomainin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>- Overrides:
setSecurityDomainin classorg.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
getRoutingHandler
public OpenWireRoutingHandler getRoutingHandler()
- Specified by:
getRoutingHandlerin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>
-
getSecurityDomain
public java.lang.String getSecurityDomain()
- Specified by:
getSecurityDomainin interfaceorg.apache.activemq.artemis.spi.core.protocol.ProtocolManager<OpenWireInterceptor,OpenWireRoutingHandler>- Overrides:
getSecurityDomainin classorg.apache.activemq.artemis.spi.core.protocol.AbstractProtocolManager<org.apache.activemq.command.Command,OpenWireInterceptor,OpenWireConnection,OpenWireRoutingHandler>
-
getTemporaryDestinations
public java.util.List<org.apache.activemq.command.DestinationInfo> getTemporaryDestinations()
-
wireFormat
public org.apache.activemq.openwire.OpenWireFormat wireFormat()
-
isSupportAdvisory
public boolean isSupportAdvisory()
-
setSupportAdvisory
public void setSupportAdvisory(boolean supportAdvisory)
-
isSuppressInternalManagementObjects
public boolean isSuppressInternalManagementObjects()
-
setSuppressInternalManagementObjects
public void setSuppressInternalManagementObjects(boolean suppressInternalManagementObjects)
-
getOpenWireDestinationCacheSize
public int getOpenWireDestinationCacheSize()
-
setOpenWireDestinationCacheSize
public void setOpenWireDestinationCacheSize(int openWireDestinationCacheSize)
-
setVirtualTopicConsumerWildcards
public void setVirtualTopicConsumerWildcards(java.lang.String virtualTopicConsumerWildcards)
-
setVirtualTopicConsumerLruCacheMax
public void setVirtualTopicConsumerLruCacheMax(int max)
-
virtualTopicConsumerToFQQN
public org.apache.activemq.command.ActiveMQDestination virtualTopicConsumerToFQQN(org.apache.activemq.command.ActiveMQDestination destination)
-
getConnections
public java.util.List<OpenWireConnection> getConnections()
-
-