org.apache.activemq.network
Class DemandForwardingBridgeSupport
java.lang.Object
org.apache.activemq.network.DemandForwardingBridgeSupport
- All Implemented Interfaces:
- BrokerServiceAware, NetworkBridge, Service
- Direct Known Subclasses:
- CompositeDemandForwardingBridge, DemandForwardingBridge
public abstract class DemandForwardingBridgeSupport
- extends java.lang.Object
- implements NetworkBridge, BrokerServiceAware
A useful base class for implementing demand forwarding bridges.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DURABLE_SUB_PREFIX
protected static final java.lang.String DURABLE_SUB_PREFIX
- See Also:
- Constant Field Values
localBroker
protected final Transport localBroker
remoteBroker
protected final Transport remoteBroker
idGenerator
protected final IdGenerator idGenerator
consumerIdGenerator
protected final LongSequenceGenerator consumerIdGenerator
localConnectionInfo
protected ConnectionInfo localConnectionInfo
remoteConnectionInfo
protected ConnectionInfo remoteConnectionInfo
localSessionInfo
protected SessionInfo localSessionInfo
producerInfo
protected ProducerInfo producerInfo
remoteBrokerName
protected java.lang.String remoteBrokerName
localClientId
protected java.lang.String localClientId
demandConsumerInfo
protected ConsumerInfo demandConsumerInfo
demandConsumerDispatched
protected int demandConsumerDispatched
localBridgeStarted
protected final java.util.concurrent.atomic.AtomicBoolean localBridgeStarted
remoteBridgeStarted
protected final java.util.concurrent.atomic.AtomicBoolean remoteBridgeStarted
disposed
protected java.util.concurrent.atomic.AtomicBoolean disposed
localBrokerId
protected BrokerId localBrokerId
excludedDestinations
protected ActiveMQDestination[] excludedDestinations
dynamicallyIncludedDestinations
protected ActiveMQDestination[] dynamicallyIncludedDestinations
staticallyIncludedDestinations
protected ActiveMQDestination[] staticallyIncludedDestinations
durableDestinations
protected ActiveMQDestination[] durableDestinations
subscriptionMapByLocalId
protected final java.util.concurrent.ConcurrentHashMap<ConsumerId,DemandSubscription> subscriptionMapByLocalId
subscriptionMapByRemoteId
protected final java.util.concurrent.ConcurrentHashMap<ConsumerId,DemandSubscription> subscriptionMapByRemoteId
localBrokerPath
protected final BrokerId[] localBrokerPath
startedLatch
protected java.util.concurrent.CountDownLatch startedLatch
localStartedLatch
protected java.util.concurrent.CountDownLatch localStartedLatch
remoteBrokerNameKnownLatch
protected java.util.concurrent.CountDownLatch remoteBrokerNameKnownLatch
localBrokerIdKnownLatch
protected java.util.concurrent.CountDownLatch localBrokerIdKnownLatch
remoteInterupted
protected final java.util.concurrent.atomic.AtomicBoolean remoteInterupted
lastConnectSucceeded
protected final java.util.concurrent.atomic.AtomicBoolean lastConnectSucceeded
configuration
protected NetworkBridgeConfiguration configuration
DemandForwardingBridgeSupport
public DemandForwardingBridgeSupport(NetworkBridgeConfiguration configuration,
Transport localBroker,
Transport remoteBroker)
duplexStart
public void duplexStart(TransportConnection connection,
BrokerInfo localBrokerInfo,
BrokerInfo remoteBrokerInfo)
throws java.lang.Exception
- Throws:
java.lang.Exception
start
public void start()
throws java.lang.Exception
- Specified by:
start
in interface Service
- Throws:
java.lang.Exception
triggerLocalStartBridge
protected void triggerLocalStartBridge()
throws java.io.IOException
- Throws:
java.io.IOException
triggerRemoteStartBridge
protected void triggerRemoteStartBridge()
throws java.io.IOException
- Throws:
java.io.IOException
startLocalBridge
protected void startLocalBridge()
throws java.lang.Throwable
- Throws:
java.lang.Throwable
startRemoteBridge
protected void startRemoteBridge()
throws java.lang.Exception
- Throws:
java.lang.Exception
stop
public void stop()
throws java.lang.Exception
- Specified by:
stop
in interface Service
- Throws:
java.lang.Exception
serviceRemoteException
public void serviceRemoteException(java.lang.Throwable error)
- Description copied from interface:
NetworkBridge
- Service an exception
- Specified by:
serviceRemoteException
in interface NetworkBridge
serviceRemoteCommand
protected void serviceRemoteCommand(Command command)
serviceLocalException
public void serviceLocalException(java.lang.Throwable error)
- Description copied from interface:
NetworkBridge
- servicee an exception
- Specified by:
serviceLocalException
in interface NetworkBridge
getControllingService
protected Service getControllingService()
addSubscription
protected void addSubscription(DemandSubscription sub)
throws java.io.IOException
- Throws:
java.io.IOException
removeSubscription
protected void removeSubscription(DemandSubscription sub)
throws java.io.IOException
- Throws:
java.io.IOException
configureMessage
protected Message configureMessage(MessageDispatch md)
serviceLocalCommand
protected void serviceLocalCommand(Command command)
getDynamicallyIncludedDestinations
public ActiveMQDestination[] getDynamicallyIncludedDestinations()
- Returns:
- Returns the dynamicallyIncludedDestinations.
setDynamicallyIncludedDestinations
public void setDynamicallyIncludedDestinations(ActiveMQDestination[] dynamicallyIncludedDestinations)
- Parameters:
dynamicallyIncludedDestinations
- The
dynamicallyIncludedDestinations to set.
getExcludedDestinations
public ActiveMQDestination[] getExcludedDestinations()
- Returns:
- Returns the excludedDestinations.
setExcludedDestinations
public void setExcludedDestinations(ActiveMQDestination[] excludedDestinations)
- Parameters:
excludedDestinations
- The excludedDestinations to set.
getStaticallyIncludedDestinations
public ActiveMQDestination[] getStaticallyIncludedDestinations()
- Returns:
- Returns the staticallyIncludedDestinations.
setStaticallyIncludedDestinations
public void setStaticallyIncludedDestinations(ActiveMQDestination[] staticallyIncludedDestinations)
- Parameters:
staticallyIncludedDestinations
- The staticallyIncludedDestinations
to set.
getDurableDestinations
public ActiveMQDestination[] getDurableDestinations()
- Returns:
- Returns the durableDestinations.
setDurableDestinations
public void setDurableDestinations(ActiveMQDestination[] durableDestinations)
- Parameters:
durableDestinations
- The durableDestinations to set.
getLocalBroker
public Transport getLocalBroker()
- Returns:
- Returns the localBroker.
getRemoteBroker
public Transport getRemoteBroker()
- Returns:
- Returns the remoteBroker.
isCreatedByDuplex
public boolean isCreatedByDuplex()
- Returns:
- the createdByDuplex
setCreatedByDuplex
public void setCreatedByDuplex(boolean createdByDuplex)
- Parameters:
createdByDuplex
- the createdByDuplex to set
contains
public static boolean contains(BrokerId[] brokerPath,
BrokerId brokerId)
appendToBrokerPath
protected BrokerId[] appendToBrokerPath(BrokerId[] brokerPath,
BrokerId[] pathsToAppend)
appendToBrokerPath
protected BrokerId[] appendToBrokerPath(BrokerId[] brokerPath,
BrokerId idToAppend)
isPermissableDestination
protected boolean isPermissableDestination(ActiveMQDestination destination)
isPermissableDestination
protected boolean isPermissableDestination(ActiveMQDestination destination,
boolean allowTemporary)
setupStaticDestinations
protected void setupStaticDestinations()
- Subscriptions for these destinations are always created
addConsumerInfo
protected boolean addConsumerInfo(ConsumerInfo consumerInfo)
throws java.io.IOException
- Throws:
java.io.IOException
createDemandSubscription
protected DemandSubscription createDemandSubscription(ConsumerInfo info)
throws java.io.IOException
- Throws:
java.io.IOException
doCreateDemandSubscription
protected DemandSubscription doCreateDemandSubscription(ConsumerInfo info)
throws java.io.IOException
- Throws:
java.io.IOException
createDemandSubscription
protected final DemandSubscription createDemandSubscription(ActiveMQDestination destination)
configureDemandSubscription
protected void configureDemandSubscription(ConsumerInfo info,
DemandSubscription sub)
throws java.io.IOException
- Throws:
java.io.IOException
removeDemandSubscription
protected void removeDemandSubscription(ConsumerId id)
throws java.io.IOException
- Throws:
java.io.IOException
removeDemandSubscriptionByLocalId
protected boolean removeDemandSubscriptionByLocalId(ConsumerId consumerId)
waitStarted
protected void waitStarted()
throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
clearDownSubscriptions
protected void clearDownSubscriptions()
createNetworkBridgeFilter
protected abstract NetworkBridgeFilter createNetworkBridgeFilter(ConsumerInfo info)
throws java.io.IOException
- Throws:
java.io.IOException
serviceLocalBrokerInfo
protected abstract void serviceLocalBrokerInfo(Command command)
throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
addRemoteBrokerToBrokerPath
protected abstract void addRemoteBrokerToBrokerPath(ConsumerInfo info)
throws java.io.IOException
- Throws:
java.io.IOException
serviceRemoteBrokerInfo
protected abstract void serviceRemoteBrokerInfo(Command command)
throws java.io.IOException
- Throws:
java.io.IOException
getRemoteBrokerPath
protected abstract BrokerId[] getRemoteBrokerPath()
setNetworkBridgeListener
public void setNetworkBridgeListener(NetworkBridgeListener listener)
- Description copied from interface:
NetworkBridge
- Set the NetworkBridgeFailedListener
- Specified by:
setNetworkBridgeListener
in interface NetworkBridge
getRemoteAddress
public java.lang.String getRemoteAddress()
- Specified by:
getRemoteAddress
in interface NetworkBridge
getLocalAddress
public java.lang.String getLocalAddress()
- Specified by:
getLocalAddress
in interface NetworkBridge
getRemoteBrokerName
public java.lang.String getRemoteBrokerName()
- Specified by:
getRemoteBrokerName
in interface NetworkBridge
getLocalBrokerName
public java.lang.String getLocalBrokerName()
- Specified by:
getLocalBrokerName
in interface NetworkBridge
getDequeueCounter
public long getDequeueCounter()
- Specified by:
getDequeueCounter
in interface NetworkBridge
getEnqueueCounter
public long getEnqueueCounter()
- Specified by:
getEnqueueCounter
in interface NetworkBridge
isDuplex
protected boolean isDuplex()
setBrokerService
public void setBrokerService(BrokerService brokerService)
- Specified by:
setBrokerService
in interface BrokerServiceAware
Copyright © 2005-2011. All Rights Reserved.