org.apache.activemq.network
Class CompositeDemandForwardingBridge

java.lang.Object
  extended by org.apache.activemq.network.DemandForwardingBridgeSupport
      extended by org.apache.activemq.network.CompositeDemandForwardingBridge
All Implemented Interfaces:
BrokerServiceAware, NetworkBridge, Service

public class CompositeDemandForwardingBridge
extends DemandForwardingBridgeSupport

A demand forwarding bridge which works with multicast style transports where a single Transport could be communicating with multiple remote brokers


Field Summary
protected  java.lang.Object brokerInfoMutex
           
protected  BrokerId[] remoteBrokerPath
           
 
Fields inherited from class org.apache.activemq.network.DemandForwardingBridgeSupport
configuration, consumerIdGenerator, demandConsumerDispatched, demandConsumerInfo, disposed, DURABLE_SUB_PREFIX, durableDestinations, dynamicallyIncludedDestinations, excludedDestinations, idGenerator, lastConnectSucceeded, localBridgeStarted, localBroker, localBrokerId, localBrokerIdKnownLatch, localBrokerPath, localClientId, localConnectionInfo, localSessionInfo, localStartedLatch, producerInfo, remoteBridgeStarted, remoteBroker, remoteBrokerName, remoteBrokerNameKnownLatch, remoteConnectionInfo, remoteInterupted, startedLatch, staticallyIncludedDestinations, subscriptionMapByLocalId, subscriptionMapByRemoteId
 
Constructor Summary
CompositeDemandForwardingBridge(NetworkBridgeConfiguration configuration, Transport localBroker, Transport remoteBroker)
           
 
Method Summary
protected  void addRemoteBrokerToBrokerPath(ConsumerInfo info)
           
protected  NetworkBridgeFilter createNetworkBridgeFilter(ConsumerInfo info)
           
protected  BrokerId getFromBrokerId(Command command)
          Returns the broker ID that the command came from
protected  BrokerId[] getRemoteBrokerPath()
           
protected  void serviceLocalBrokerInfo(Command command)
           
protected  void serviceRemoteBrokerInfo(Command command)
           
 
Methods inherited from class org.apache.activemq.network.DemandForwardingBridgeSupport
addConsumerInfo, addSubscription, appendToBrokerPath, appendToBrokerPath, clearDownSubscriptions, configureDemandSubscription, configureMessage, contains, createDemandSubscription, createDemandSubscription, doCreateDemandSubscription, duplexStart, getControllingService, getDequeueCounter, getDurableDestinations, getDynamicallyIncludedDestinations, getEnqueueCounter, getExcludedDestinations, getLocalAddress, getLocalBroker, getLocalBrokerName, getRemoteAddress, getRemoteBroker, getRemoteBrokerName, getStaticallyIncludedDestinations, isCreatedByDuplex, isDuplex, isPermissableDestination, isPermissableDestination, removeDemandSubscription, removeDemandSubscriptionByLocalId, removeSubscription, serviceLocalCommand, serviceLocalException, serviceRemoteCommand, serviceRemoteException, setBrokerService, setCreatedByDuplex, setDurableDestinations, setDynamicallyIncludedDestinations, setExcludedDestinations, setNetworkBridgeListener, setStaticallyIncludedDestinations, setupStaticDestinations, start, startLocalBridge, startRemoteBridge, stop, triggerLocalStartBridge, triggerRemoteStartBridge, waitStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

remoteBrokerPath

protected final BrokerId[] remoteBrokerPath

brokerInfoMutex

protected java.lang.Object brokerInfoMutex
Constructor Detail

CompositeDemandForwardingBridge

public CompositeDemandForwardingBridge(NetworkBridgeConfiguration configuration,
                                       Transport localBroker,
                                       Transport remoteBroker)
Method Detail

serviceRemoteBrokerInfo

protected void serviceRemoteBrokerInfo(Command command)
                                throws java.io.IOException
Specified by:
serviceRemoteBrokerInfo in class DemandForwardingBridgeSupport
Throws:
java.io.IOException

addRemoteBrokerToBrokerPath

protected void addRemoteBrokerToBrokerPath(ConsumerInfo info)
                                    throws java.io.IOException
Specified by:
addRemoteBrokerToBrokerPath in class DemandForwardingBridgeSupport
Throws:
java.io.IOException

getFromBrokerId

protected BrokerId getFromBrokerId(Command command)
                            throws java.io.IOException
Returns the broker ID that the command came from

Throws:
java.io.IOException

serviceLocalBrokerInfo

protected void serviceLocalBrokerInfo(Command command)
                               throws java.lang.InterruptedException
Specified by:
serviceLocalBrokerInfo in class DemandForwardingBridgeSupport
Throws:
java.lang.InterruptedException

createNetworkBridgeFilter

protected NetworkBridgeFilter createNetworkBridgeFilter(ConsumerInfo info)
                                                 throws java.io.IOException
Specified by:
createNetworkBridgeFilter in class DemandForwardingBridgeSupport
Throws:
java.io.IOException

getRemoteBrokerPath

protected BrokerId[] getRemoteBrokerPath()
Specified by:
getRemoteBrokerPath in class DemandForwardingBridgeSupport


Copyright © 2005-2011. All Rights Reserved.