You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Arif Mohd <ar...@wipro.com> on 2007/10/24 16:23:08 UTC

Re: Network of brokers

Hi all,

     Iam trying to evaluate this feature of activemq and has just gone
through the documentation and not able to get exact idea so, when looking in
mailing list found this thread(ofcourse which is very much outdated).My
question is still all these problems exist in latest releases?

        I would like developers of activemq(gnodet,...) to answer this
question and if possible please update the documentation for this on the
site which is very much breif.

Thanks in advance.

sanne wrote:
> 
> Hi Bernard,
> 
> O.k, thanks for replicating the problem. 
> 
> Somewhat related is the prefetchSize on the network connector. This
> prevents all messages streaming to the consumer not being restarted.
> Setting the prefetchSize does not solve this problem however.
> 
> Regards,
> 
> Sanne
> 
> 
> Bernhard2 wrote:
>> 
>> Hello,
>> 
>> I experienced the same problem in my tests.
>> 
>> Who can help Sanne and me here? I’m subscribed to this mailing list for
>> some time now. As soon when it comes to help for topics around “network
>> of brokers”, I noticed that normally nobody is able (or wants?) to help.
>> Is a “network of brokers” an uncommon used feature? Regarding to the
>> number of mails for this topic I do not think so.
>> 
>> Thanks and have a nice day,
>> 
>> Bernhard
>> 
>> 
>> 
>> sanne wrote:
>>> 
>>> Hi,
>>> 
>>> I'm prototyping an ActiveMQ network of brokers using 4.0.2 RC 6. The
>>> setup consists of 2 producers and 2 consumers. At startup things look
>>> fine. After restarting one of the consumers one or more times it stops
>>> receiving messages. All the work is done by the remaining cosumer. 
>>> 
>>> The connection dialog of the restarted broker looks o.k., but it doesn't
>>> receive messages anymore.
>>> (I don't use JmsTemplate) :
>>> 
>>> <code>
>>> 2006-10-31 17:12:53,156 DEBUG [ActiveMQ Task]
>>> org.apache.activemq.transport.failover.FailoverTransport: Attempting
>>> connect to: tcp://localhost:20002
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Task]
>>> org.apache.activemq.transport.WireFormatNegotiator: Sending:
>>> WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
>>> TcpNoDelayEnabled=true, SizePrefixDisabled=false,
>>> StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
>>> magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Task]
>>> org.apache.activemq.transport.failover.FailoverTransport: Connection
>>> established
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport Server:
>>> tcp://dtams0365:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator: Sending:
>>> WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
>>> TcpNoDelayEnabled=true, SizePrefixDisabled=false,
>>> StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
>>> magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator: Received WireFormat:
>>> WireFormatInfo { version=1, properties={StackTraceEnabled=true,
>>> TightEncodingEnabled=true, TcpNoDelayEnabled=true,
>>> SizePrefixDisabled=false, MaxInactivityDuration=30000,
>>> CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1411]
>>> org.apache.activemq.transport.WireFormatNegotiator: Received WireFormat:
>>> WireFormatInfo { version=1, properties={StackTraceEnabled=true,
>>> TightEncodingEnabled=true, TcpNoDelayEnabled=true,
>>> SizePrefixDisabled=false, MaxInactivityDuration=30000,
>>> CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp://localhost/127.0.0.1:20002 before negotiation:
>>> OpenWireFormat{version=1, cacheEnabled=false, stackTraceEnabled=false,
>>> tightEncodingEnabled=false, sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1411]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1411 before negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp://localhost/127.0.0.1:20002 after negotiation:
>>> OpenWireFormat{version=1, cacheEnabled=true, stackTraceEnabled=true,
>>> tightEncodingEnabled=true, sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,171 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1411]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1411 after negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,218 DEBUG [ActiveMQ Transport Server:
>>> tcp://dtams0365:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator: Sending:
>>> WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
>>> TcpNoDelayEnabled=true, SizePrefixDisabled=false,
>>> StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
>>> magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,218 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1406]
>>> org.apache.activemq.transport.WireFormatNegotiator: Received WireFormat:
>>> WireFormatInfo { version=1, properties={StackTraceEnabled=true,
>>> TightEncodingEnabled=true, TcpNoDelayEnabled=true,
>>> SizePrefixDisabled=false, MaxInactivityDuration=30000,
>>> CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,218 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1406]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1406 before negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,218 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1406]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1406 after negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,234 DEBUG [ActiveMQ Transport Server:
>>> tcp://dtams0365:20002]
>>> org.apache.activemq.transport.WireFormatNegotiator: Sending:
>>> WireFormatInfo { version=1, properties={TightEncodingEnabled=true,
>>> TcpNoDelayEnabled=true, SizePrefixDisabled=false,
>>> StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true},
>>> magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,234 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1407]
>>> org.apache.activemq.transport.WireFormatNegotiator: Received WireFormat:
>>> WireFormatInfo { version=1, properties={StackTraceEnabled=true,
>>> TightEncodingEnabled=true, TcpNoDelayEnabled=true,
>>> SizePrefixDisabled=false, MaxInactivityDuration=30000,
>>> CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
>>> 2006-10-31 17:12:53,234 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1407]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1407 before negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,234 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1407]
>>> org.apache.activemq.transport.WireFormatNegotiator:
>>> tcp:///127.0.0.1:1407 after negotiation: OpenWireFormat{version=1,
>>> cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true,
>>> sizePrefixDisabled=false}
>>> 2006-10-31 17:12:53,234 DEBUG [Thread-3]
>>> org.apache.activemq.broker.region.AbstractRegion: Adding destination:
>>> topic://ActiveMQ.Advisory.Topic
>>> 2006-10-31 17:12:53,234 INFO  [Thread-4]
>>> org.apache.activemq.network.DemandForwardingBridge: Network connection
>>> between vm://consumer-002#2 and tcp://localhost:10002(producer-002) has
>>> been established.
>>> 2006-10-31 17:12:53,234 INFO  [Thread-3]
>>> org.apache.activemq.network.DemandForwardingBridge: Network connection
>>> between vm://consumer-002#0 and tcp://localhost:10001(producer-001) has
>>> been established.
>>> 2006-10-31 17:12:53,234 DEBUG [main]
>>> org.apache.activemq.transport.failover.FailoverTransport: Started.
>>> 2006-10-31 17:12:53,265 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1407] org.apache.activemq.broker.region.AbstractRegion:
>>> Adding destination: queue://jmsExample
>>> 2006-10-31 17:12:53,281 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:10002]
>>> org.apache.activemq.broker.region.AbstractRegion: Adding destination:
>>> queue://jmsExample
>>> 2006-10-31 17:12:53,281 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:10001]
>>> org.apache.activemq.broker.region.AbstractRegion: Adding destination:
>>> queue://jmsExample
>>> 2006-10-31 17:12:53,281 DEBUG [ActiveMQ Transport:
>>> tcp:///127.0.0.1:1407] org.apache.activemq.broker.region.AbstractRegion:
>>> Adding destination: topic://ActiveMQ.Advisory.Queue
>>> 2006-10-31 17:12:53,296 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:10002]
>>> org.apache.activemq.broker.region.AbstractRegion: Adding destination:
>>> topic://ActiveMQ.Advisory.Consumer.Queue.jmsExample
>>> 2006-10-31 17:12:53,296 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:10002]
>>> org.apache.activemq.network.DemandForwardingBridge: Forwarding sub on
>>> vm://consumer-002#2 from producer-002 :  ConsumerInfo {commandId = 3,
>>> responseRequired = false, consumerId =
>>> ID:dtams0365-1365-1162311147296-3:1:1:1, destination =
>>> queue://jmsExample, prefetchSize = 1000, maximumPendingMessageLimit = 0,
>>> browser = false, dispatchAsync = true, selector = null, subcriptionName
>>> = null, noLocal = false, exclusive = false, retroactive = false,
>>> priority = 0, brokerPath = [ID:dtams0365-1371-1162311149155-0:0,
>>> ID:dtams0365-1365-1162311147296-0:0], optimizedAcknowledge = false,
>>> noRangeAcks = false, additionalPredicate = null}
>>> 2006-10-31 17:12:53,296 DEBUG [ActiveMQ Transport:
>>> tcp://localhost/127.0.0.1:10001]
>>> org.apache.activemq.network.DemandForwardingBridge: Forwarding sub on
>>> vm://consumer-002#0 from producer-001 :  ConsumerInfo {commandId = 3,
>>> responseRequired = false, consumerId =
>>> ID:dtams0365-1356-1162311143827-3:1:1:1, destination =
>>> queue://jmsExample, prefetchSize = 1000, maximumPendingMessageLimit = 0,
>>> browser = false, dispatchAsync = true, selector = null, subcriptionName
>>> = null, noLocal = false, exclusive = false, retroactive = false,
>>> priority = 0, brokerPath = [ID:dtams0365-1371-1162311149155-0:0,
>>> ID:dtams0365-1356-1162311143827-0:0], optimizedAcknowledge = false,
>>> noRangeAcks = false, additionalPredicate = null}
>>> </code>
>>> 
>>> 
>>> The configuration of the brokers is:
>>> 
>>> <code>
>>>   <broker brokerName="consumer-001" persistent="false" useJmx="false">
>>>     
>>>     <transportConnectors>
>>>       <transportConnector uri="tcp://localhost:20001"/>
>>>     </transportConnectors>
>>> 
>>>     <networkConnectors>
>>>       <networkConnector networkTTL="3" name="to-producer-001" 
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:10001)" failover="true"/>
>>>       <networkConnector networkTTL="3" name="to-producer-002" 
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:10002)" failover="true"/>
>>>      </networkConnectors>
>>> 
>>>     <persistenceAdapter>
>>>       <memoryPersistenceAdapter/>
>>>     </persistenceAdapter>
>>>     
>>>   </broker>
>>> 
>>>   <broker brokerName="consumer-002" persistent="false" useJmx="false">
>>>     
>>>     <transportConnectors>
>>>       <transportConnector uri="tcp://localhost:20002"/>
>>>     </transportConnectors>
>>>   <broker brokerName="producer-001" persistent="false" useJmx="false">
>>>     
>>>     <transportConnectors>
>>>       <transportConnector uri="tcp://localhost:10001"/>
>>>     </transportConnectors>
>>> 
>>>     <networkConnectors>
>>>       <networkConnector networkTTL="3" name="to-consumer-001"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20001)" failover="true"/>
>>>       <networkConnector networkTTL="3" name="to-consumer-002"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20002)" failover="true"/>
>>>     </networkConnectors>
>>>     
>>>     <persistenceAdapter>
>>>       <memoryPersistenceAdapter/>
>>>     </persistenceAdapter>
>>>     
>>>   </broker>
>>> 
>>>   <broker brokerName="producer-001" persistent="false" useJmx="false">
>>>     
>>>     <transportConnectors>
>>>       <transportConnector uri="tcp://localhost:10001"/>
>>>     </transportConnectors>
>>> 
>>>     <networkConnectors>
>>>       <networkConnector networkTTL="3" name="to-consumer-001"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20001)" failover="true"/>
>>>       <networkConnector networkTTL="3" name="to-consumer-002"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20002)" failover="true"/>
>>>     </networkConnectors>
>>>     
>>>     <persistenceAdapter>
>>>       <memoryPersistenceAdapter/>
>>>     </persistenceAdapter>
>>>     
>>>   </broker>
>>> 
>>>   <broker brokerName="producer-002" persistent="false" useJmx="false">
>>>     
>>>     <transportConnectors>
>>>       <transportConnector uri="tcp://localhost:10002"/>
>>>     </transportConnectors>
>>> 
>>>     <networkConnectors>
>>>       <networkConnector name="to-consumer-001"  networkTTL="3"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20001)" failover="true"/>
>>>       <networkConnector name="to-consumer-002"  networkTTL="3"
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:20002)" failover="true"/>
>>>     </networkConnectors>
>>> 
>>>     <persistenceAdapter>
>>>       <memoryPersistenceAdapter/>
>>>     </persistenceAdapter>
>>>     
>>>   </broker>
>>>     <networkConnectors>
>>>       <networkConnector  networkTTL="3" name="to-producer-001" 
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:10001)" failover="true"/>
>>>       <networkConnector  networkTTL="3" name="to-producer-002" 
>>> dynamicOnly="true" conduitSubscriptions="true"
>>> uri="static:(tcp://localhost:10002)" failover="true"/>
>>>      </networkConnectors>
>>> 
>>>     <persistenceAdapter>
>>>       <memoryPersistenceAdapter/>
>>>     </persistenceAdapter>
>>>     
>>>   </broker>
>>> </code>
>>> 
>>> 
>>> Has anyone experienced this before, and maybe solved it?
>>> 
>>> Regards,
>>> 
>>> Sanne
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Network-of-brokers-tf2546736s2354.html#a13384748
Sent from the ActiveMQ - User mailing list archive at Nabble.com.