public abstract class DemandForwardingBridgeSupport extends java.lang.Object implements NetworkBridge, BrokerServiceAware
| Constructor and Description |
|---|
DemandForwardingBridgeSupport(NetworkBridgeConfiguration configuration,
Transport localBroker,
Transport remoteBroker) |
protected static final java.lang.String DURABLE_SUB_PREFIX
protected final Transport localBroker
protected final Transport remoteBroker
protected IdGenerator idGenerator
protected final LongSequenceGenerator consumerIdGenerator
protected ConnectionInfo localConnectionInfo
protected ConnectionInfo remoteConnectionInfo
protected SessionInfo localSessionInfo
protected ProducerInfo producerInfo
protected java.lang.String remoteBrokerName
protected java.lang.String localClientId
protected ConsumerInfo demandConsumerInfo
protected int demandConsumerDispatched
protected final java.util.concurrent.atomic.AtomicBoolean localBridgeStarted
protected final java.util.concurrent.atomic.AtomicBoolean remoteBridgeStarted
protected final java.util.concurrent.atomic.AtomicBoolean bridgeFailed
protected final java.util.concurrent.atomic.AtomicBoolean disposed
protected BrokerId localBrokerId
protected ActiveMQDestination[] excludedDestinations
protected ActiveMQDestination[] dynamicallyIncludedDestinations
protected ActiveMQDestination[] staticallyIncludedDestinations
protected ActiveMQDestination[] durableDestinations
protected final java.util.concurrent.ConcurrentHashMap<ConsumerId,DemandSubscription> subscriptionMapByLocalId
protected final java.util.concurrent.ConcurrentHashMap<ConsumerId,DemandSubscription> subscriptionMapByRemoteId
protected final BrokerId[] localBrokerPath
protected final java.util.concurrent.CountDownLatch startedLatch
protected final java.util.concurrent.CountDownLatch localStartedLatch
protected final java.util.concurrent.atomic.AtomicBoolean lastConnectSucceeded
protected NetworkBridgeConfiguration configuration
protected final NetworkBridgeFilterFactory defaultFilterFactory
protected final BrokerId[] remoteBrokerPath
protected BrokerId remoteBrokerId
protected BrokerService brokerService
public DemandForwardingBridgeSupport(NetworkBridgeConfiguration configuration, Transport localBroker, Transport remoteBroker)
public void duplexStart(TransportConnection connection, BrokerInfo localBrokerInfo, BrokerInfo remoteBrokerInfo) throws java.lang.Exception
java.lang.Exceptionpublic void start()
throws java.lang.Exception
public void stop()
throws java.lang.Exception
protected void triggerStartAsyncNetworkBridgeCreation()
throws java.io.IOException
java.io.IOExceptionprotected void startRemoteBridge()
throws java.lang.Exception
java.lang.Exceptionpublic void serviceRemoteException(java.lang.Throwable error)
NetworkBridgeserviceRemoteException in interface NetworkBridgeprotected void serviceRemoteCommand(Command command)
public void serviceLocalException(java.lang.Throwable error)
NetworkBridgeserviceLocalException in interface NetworkBridgepublic void serviceLocalException(MessageDispatch messageDispatch, java.lang.Throwable error)
protected Service getControllingService()
protected void addSubscription(DemandSubscription sub) throws java.io.IOException
java.io.IOExceptionprotected void removeSubscription(DemandSubscription sub) throws java.io.IOException
java.io.IOExceptionprotected Message configureMessage(MessageDispatch md) throws java.io.IOException
java.io.IOExceptionprotected void serviceLocalCommand(Command command)
protected BrokerId[] appendToBrokerPath(BrokerId[] brokerPath, BrokerId[] pathsToAppend)
protected BrokerId[] appendToBrokerPath(BrokerId[] brokerPath, BrokerId idToAppend)
protected boolean isPermissableDestination(ActiveMQDestination destination)
protected boolean isPermissableDestination(ActiveMQDestination destination, boolean allowTemporary)
protected void setupStaticDestinations()
protected void addConsumerInfo(ConsumerInfo consumerInfo) throws java.io.IOException
java.io.IOExceptionprotected final java.util.Collection<Subscription> getRegionSubscriptions(ActiveMQDestination dest)
protected DemandSubscription createDemandSubscription(ConsumerInfo info) throws java.io.IOException
java.io.IOExceptionprotected DemandSubscription doCreateDemandSubscription(ConsumerInfo info) throws java.io.IOException
java.io.IOExceptionprotected final DemandSubscription createDemandSubscription(ActiveMQDestination destination)
protected void configureDemandSubscription(ConsumerInfo info, DemandSubscription sub) throws java.io.IOException
java.io.IOExceptionprotected void removeDemandSubscription(ConsumerId id) throws java.io.IOException
java.io.IOExceptionprotected boolean removeDemandSubscriptionByLocalId(ConsumerId consumerId)
protected void safeWaitUntilStarted()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionprotected NetworkBridgeFilter createNetworkBridgeFilter(ConsumerInfo info) throws java.io.IOException
java.io.IOExceptionprotected void addRemoteBrokerToBrokerPath(ConsumerInfo info) throws java.io.IOException
java.io.IOExceptionprotected BrokerId[] getRemoteBrokerPath()
public void setNetworkBridgeListener(NetworkBridgeListener listener)
NetworkBridgesetNetworkBridgeListener in interface NetworkBridgepublic ActiveMQDestination[] getDynamicallyIncludedDestinations()
public void setDynamicallyIncludedDestinations(ActiveMQDestination[] dynamicallyIncludedDestinations)
dynamicallyIncludedDestinations - The dynamicallyIncludedDestinations to set.public ActiveMQDestination[] getExcludedDestinations()
public void setExcludedDestinations(ActiveMQDestination[] excludedDestinations)
excludedDestinations - The excludedDestinations to set.public ActiveMQDestination[] getStaticallyIncludedDestinations()
public void setStaticallyIncludedDestinations(ActiveMQDestination[] staticallyIncludedDestinations)
staticallyIncludedDestinations - The staticallyIncludedDestinations to set.public ActiveMQDestination[] getDurableDestinations()
public void setDurableDestinations(ActiveMQDestination[] durableDestinations)
durableDestinations - The durableDestinations to set.public Transport getLocalBroker()
public Transport getRemoteBroker()
public boolean isCreatedByDuplex()
public void setCreatedByDuplex(boolean createdByDuplex)
createdByDuplex - the createdByDuplex to setpublic java.lang.String getRemoteAddress()
getRemoteAddress in interface NetworkBridgepublic java.lang.String getLocalAddress()
getLocalAddress in interface NetworkBridgepublic java.lang.String getRemoteBrokerName()
getRemoteBrokerName in interface NetworkBridgepublic java.lang.String getRemoteBrokerId()
getRemoteBrokerId in interface NetworkBridgepublic java.lang.String getLocalBrokerName()
getLocalBrokerName in interface NetworkBridgepublic long getDequeueCounter()
getDequeueCounter in interface NetworkBridgepublic long getEnqueueCounter()
getEnqueueCounter in interface NetworkBridgeprotected boolean isDuplex()
public java.util.concurrent.ConcurrentHashMap<ConsumerId,DemandSubscription> getLocalSubscriptionMap()
public void setBrokerService(BrokerService brokerService)
setBrokerService in interface BrokerServiceAwarepublic void setMbeanObjectName(javax.management.ObjectName objectName)
setMbeanObjectName in interface NetworkBridgeobjectName - The ObjectName assigned to this bridge in the MBean server.public javax.management.ObjectName getMbeanObjectName()
getMbeanObjectName in interface NetworkBridgepublic void resetStats()
resetStats in interface NetworkBridgeprotected void serviceOutbound(Message message)
protected void serviceInboundMessage(Message message)
protected boolean canDuplexDispatch(Message message)
protected long getStoredSequenceIdForMessage(MessageId messageId)
Copyright © 2005-2014 Red Hat, Inc.. All Rights Reserved.