You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Bernhard2 <Be...@gaia-group.com> on 2006/11/01 17:03:14 UTC

Re: Network of brokers

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-tf2546736.html#a7116838
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Network of brokers

Posted by Javier Leyba <xl...@gmail.com>.
On 12/21/06, Bernhard Wellhöfer <Be...@gaia-group.com> wrote:
> One question: did you ever start/stop brokers and consumer/producer in the network during your tests. Did all broker and consumer/producer reliable reconnect and where all message delivered?
>


As far as I remember, yes.

I started trying Joram because I've been using Jonas as AS but I
discarded it because the High Availability of Joram/Jonas was so
"naif" and not usefull for me.

After this I decided to test ActiveMQ and I remember I did a test as follows:

Two JBoss server with one master broker and a slave broker (working
with topics). Each master server connecting to a network of brokers
with static ip's and failover (I can't use multicast) and many clients
subscribed to topis with a failover url pointing (ordered, not random)
to first JBoss server master broker, first JBoss server slave broker,
second JBoss server master broker, second JBoss server slave broker.

I remember I did a test like this:

1 - start all brokers
2 - start a subscriber
3 - send a message
4 - stop first master broker
5 - send a message
6 - stop slave broker
7 - send a message

and it worked find.
I guess I did more tests in this way and it worked so I thought
network of brokers worked and continue with my development.

Nevertheless, I asked more than once for recommendation about how to
set a network of brokers and nobody answered me...

I hope to hear soon somebody from ActiveMQ project with the truth
about this matter. If this is not working I think we deserve to know
it NOW.



-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

Re: AW: Network of brokers

Posted by gabriel kastenbaum <gk...@gmail.com>.
Javier Leyba a écrit :
> On 12/21/06, gabriel kastenbaum <gk...@gmail.com> wrote:
>> Hi everybody,
>> Just to add my experience with network of brokers: we just tried
>> disconnection/reconnection: most of the time it did not work. The bridge
>> (DemandBridge...) between brokers does not re-initialize. See my
>> previous emails on this issue.
>>
>
>
> Gabriel
>
> Did you use HA with Joram ?
>
> I've tested it about one year ago and was not usefull for me but if
> you say that the network of brokers work well may be I can think to
> change to Joram before to see my project sunk as the Titanic... (and
> myself looking for a new job)
>
>
> Thanks in advance
>
> J
>
Hi,

Not yet :-)
Thanks for the advice. I'm going to see it the next days (but this is 
more a joram issue:-) ).


Re: AW: Network of brokers

Posted by Javier Leyba <xl...@gmail.com>.
On 12/21/06, gabriel kastenbaum <gk...@gmail.com> wrote:
> Hi everybody,
> Just to add my experience with network of brokers: we just tried
> disconnection/reconnection: most of the time it did not work. The bridge
> (DemandBridge...) between brokers does not re-initialize. See my
> previous emails on this issue.
>


Gabriel

Did you use HA with Joram ?

I've tested it about one year ago and was not usefull for me but if
you say that the network of brokers work well may be I can think to
change to Joram before to see my project sunk as the Titanic... (and
myself looking for a new job)


Thanks in advance

J

Re: AW: Network of brokers

Posted by gabriel kastenbaum <gk...@gmail.com>.
Hi everybody,
Just to add my experience with network of brokers: we just tried 
disconnection/reconnection: most of the time it did not work. The bridge 
(DemandBridge...) between brokers does not re-initialize. See my 
previous emails on this issue.

Moreover, there is an issue with ClientID - with durable topics. If 
somewhere in your network you have a clientID="foo" you can not have 
another clientID called ="foo" . This is a problem when your clients are 
MDB, because the ClientId is written in the ejb-jar.xml file. So you can 
not have the exact same ejb jar file on different servers related with a 
network of brokers - why not use the brokerName as a defaultClientID or 
something like this?
By the way, why not having brokerName=IP of the machine by default ?

Something else is very annoying: the documentation is ... at least hard 
to follow. Say the master/slave feature: I read it several times - and 
other persons did that too: we did not understood easily how to do it... 
Same for several parts of the documentation. I dream there was a one 
piece documentation - a la Springframework for instance (or a la Joram, 
which has a very good documentation).

I know it is a lot of complex features, lots of complex developments, 
lots of time given by people. And this is an open source project so, 
don't get me wrong,  I do not complain, because I should rather help 
coding... And activeMQ is a good product, no doubt on that.

But as our project is not released yet, and as we tested before to 
release it, and had time before going live, we changed the JMS broker.
We switched to Joram and... it just works! Disconnection, re-connection: 
ok. Several identical clientID on the same network of brokers: ok too. 
etc. We do not have discovery but that's ok, we can live without that 
feature - but we can not live with a network of brokers that loose 
messages, does not reconnect etc. Sorry guys.
(When I will have more time I will do some bug reports... )





Bernhard Wellhöfer a écrit :
> Hello Javier,
>
> Sorry, it was not my intention to make waves. I just want that the whole issue is taken seriously:
>
> A) If the clustering/network or brokers feature is stable, then the documentation and the support via the mailing list are not good enough.
> B) If the hints (my tests, number of mails for this feature and quality and quantity of answers) are correct and the feature is not in a production state, then the ActiveMQ developer should face this and warn the users on the homepage.
>
> At least option A or B is true (and for you I hope it is option A) .... Regardless whether A or B is true, the whole issue is not good for the trust in ActiveMQ.
>
> One question: did you ever start/stop brokers and consumer/producer in the network during your tests. Did all broker and consumer/producer reliable reconnect and where all message delivered?
>
> Regards,
>
> Bernd
>
>
>
>   
>> -----Ursprüngliche Nachricht-----
>> Von: Javier Leyba [mailto:xleyba@gmail.com] 
>> Gesendet: Donnerstag, 21. Dezember 2006 09:05
>> An: activemq-users@geronimo.apache.org
>> Betreff: Re: Network of brokers
>>
>> On 12/21/06, Bernhard Wellhöfer 
>> <Be...@gaia-group.com> wrote:
>>     
>>> Hello Prashanth,
>>>
>>> I agree that the clustering/network or brokers feature is 
>>>       
>> not ready for a productive scenario. The problem is that the 
>> ActiveMQ homepage does not warn you about this case. 
>> Therefore again and again people waste time by trying out 
>> this feature - as each new mail for this issue to the mailing 
>> list proves. It's a pity that this as a whole makes ActiveMQ 
>> less trustworthy...
>>     
>> Is this totally true ???
>>
>> I've an application that use network of brokers ready to go to test.
>> I've configured it with the help of this list and nobody told 
>> me what you say...
>>
>> If this is true I'll be in big problems after four months of 
>> development with this product. I can´t believe it !
>>
>> If this is true I'm a dead man...  :(
>>
>>
>> --
>> Javier Leyba
>> Barcelona - Spain
>> http://blog.leyba.com.ar
>>
>>     
>
>   


AW: Network of brokers

Posted by Bernhard Wellhöfer <Be...@gaia-group.com>.
Hello Javier,

Sorry, it was not my intention to make waves. I just want that the whole issue is taken seriously:

A) If the clustering/network or brokers feature is stable, then the documentation and the support via the mailing list are not good enough.
B) If the hints (my tests, number of mails for this feature and quality and quantity of answers) are correct and the feature is not in a production state, then the ActiveMQ developer should face this and warn the users on the homepage.

At least option A or B is true (and for you I hope it is option A) .... Regardless whether A or B is true, the whole issue is not good for the trust in ActiveMQ.

One question: did you ever start/stop brokers and consumer/producer in the network during your tests. Did all broker and consumer/producer reliable reconnect and where all message delivered?

Regards,

Bernd



> -----Ursprüngliche Nachricht-----
> Von: Javier Leyba [mailto:xleyba@gmail.com] 
> Gesendet: Donnerstag, 21. Dezember 2006 09:05
> An: activemq-users@geronimo.apache.org
> Betreff: Re: Network of brokers
> 
> On 12/21/06, Bernhard Wellhöfer 
> <Be...@gaia-group.com> wrote:
> > Hello Prashanth,
> >
> > I agree that the clustering/network or brokers feature is 
> not ready for a productive scenario. The problem is that the 
> ActiveMQ homepage does not warn you about this case. 
> Therefore again and again people waste time by trying out 
> this feature - as each new mail for this issue to the mailing 
> list proves. It's a pity that this as a whole makes ActiveMQ 
> less trustworthy...
> >
> 
> Is this totally true ???
> 
> I've an application that use network of brokers ready to go to test.
> I've configured it with the help of this list and nobody told 
> me what you say...
> 
> If this is true I'll be in big problems after four months of 
> development with this product. I can´t believe it !
> 
> If this is true I'm a dead man...  :(
> 
> 
> --
> Javier Leyba
> Barcelona - Spain
> http://blog.leyba.com.ar
> 

Re: Network of brokers

Posted by Fredrik Jonson <fr...@myrealbox.com>.
Rob Davies wrote:

>  This may come as a shock to you, but even though Apache ActiveMQ is  
>  open source and free to use,  it doesn't mean that the developers of  
>  ActiveMQ's time is free as well. We do try our best to be helpful,  
>  but cannot always monitor this list, or respond in a timely manner.

Further, if you find some functionality lacking there is nothing that
is stopping you from working on it yourself. Or paying someone else
to develop the functionality for you. 

That's a key feature of all open source products!

I'm pretty sure there are people that can offer you commercial support 
and development on this list. Just ask.

-- 
Fredrik Jonson


Re: Network of brokers

Posted by Rob Davies <ra...@gmail.com>.
This is not true - networks of brokers have been working very  
successfully, and been deployed in production very successfully with  
a number of users.
This may come as a shock to you, but even though Apache ActiveMQ is  
open source and free to use,  it doesn't mean that the developers of  
ActiveMQ's time is free as well. We do try our best to be helpful,  
but cannot always monitor this list, or respond in a timely manner

On 21 Dec 2006, at 08:04, Javier Leyba wrote:

> On 12/21/06, Bernhard Wellhöfer <Bernhard.Wellhoefer@gaia- 
> group.com> wrote:
>> Hello Prashanth,
>>
>> I agree that the clustering/network or brokers feature is not  
>> ready for a productive scenario. The problem is that the ActiveMQ  
>> homepage does not warn you about this case. Therefore again and  
>> again people waste time by trying out this feature - as each new  
>> mail for this issue to the mailing list proves. It's a pity that  
>> this as a whole makes ActiveMQ less trustworthy...
>>
>
> Is this totally true ???
>
> I've an application that use network of brokers ready to go to test.
> I've configured it with the help of this list and nobody told me what
> you say...
>
> If this is true I'll be in big problems after four months of
> development with this product. I can´t believe it !
>
> If this is true I'm a dead man...  :(
>
>
> -- 
> Javier Leyba
> Barcelona - Spain
> http://blog.leyba.com.ar


Re: Network of brokers

Posted by Anthrope <pn...@anthrope.com>.
Whoops,
     Sorry to have inadvertently led this thread down a slightly
unproductive path. What we must always keep in mind is that ActiveMQ is open
source, and that we all undertake a certain amount of risk when we use it,
or as in my case, recommend that our valued clients use  it. My expectations
of ActiveMQ went up significantly after it was officially accepted as an
Apache incubator project, and I'll guess that's true of many users of
ActiveMQ. My decision to recommend ActiveMQ to my clients was based largely
on the fact that ActiveMQ is an apache incubator project and that there's a
very active (no pun intended) community supporting it. That being said, I
completely understand that certain key features may not work (yet) as
advertised.

    From my experience thus far, I think ActiveMQ  needs time to mature. If
you've got fairly basic, vanilla needs, you'll be really happy with
ActiveMQ. Things get tricky when you need to production-harden your
environment with High Availability and Clustering. So far, I have a working
Master-Slave setup with MySQL, and that works with low volumes and message
rates. I've also been able to get a 2-node cluster setup that allows
producing data onto one node and consuming data from the other (this works
with the failover:// url as well). I'm working through the various
scenarios, but will certainly publish the configuration files for the
various setups just as soon as I can. I'm convinced that with a lot of
tweaking and playing around, we'll arrive at a configuration that'll satisfy
our needs. Failing that, we'll switch to a commercial implementation.

PS: (For what it's worth, the story is much the same with Joram as well. The
High Availability functionality is new, and there's zilch vis-a-vis
documentation or examples.)

Regards,
Prashanth


Marlon Santos wrote:
> 
> Hi,
> 
> well it just seems that the people behind amq are just busy. If they
> weren't, they will be more
> willing to help out guys.
> 
> As to your issues, can you please post a test case, with descriptions
> about the problem. I'll try to help in ways I can.
> 
> As to the other comments, please try to refrain the "flames" because this
> is an open source
> project, so please be polite as much as possible.
> 
> Regards,
> Marlon 
> 
> 
> 
> conio wrote:
>> 
>> Granted that I haven't tried ActiveMQ 4.1.0 yet, but earlier versions 
>> seem to have serious problems with network of brokers together with 
>> durable topic subscribers when network disconnects (between brokers) 
>> happen. That was the simulated situations I tried, and the one feature I 
>> would love to use and have in ActiveMQ.
>> 
>> Unfortunately I must concur with Bernhard that the otherwise very 
>> supportive mailing list went dead silent when I brought that subject up.
>> 
>> //Jerker
>> 
>> Javier Leyba wrote:
>>> On 12/21/06, Bernhard Wellhöfer <Be...@gaia-group.com> 
>>> wrote:
>>>> Hello Prashanth,
>>>>
>>>> I agree that the clustering/network or brokers feature is not ready 
>>>> for a productive scenario. The problem is that the ActiveMQ homepage 
>>>> does not warn you about this case. Therefore again and again people 
>>>> waste time by trying out this feature - as each new mail for this 
>>>> issue to the mailing list proves. It's a pity that this as a whole 
>>>> makes ActiveMQ less trustworthy...
>>>>
>>>
>>> Is this totally true ???
>>>
>>> I've an application that use network of brokers ready to go to test.
>>> I've configured it with the help of this list and nobody told me what
>>> you say...
>>>
>>> If this is true I'll be in big problems after four months of
>>> development with this product. I can´t believe it !
>>>
>>> If this is true I'm a dead man...  :(
>>>
>>>
>> 
>> 
> 
> 

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


Re: Network of brokers

Posted by Javier Leyba <xl...@gmail.com>.
On 12/21/06, Rob Davies <ra...@gmail.com> wrote:
> This doesn't look right.
>
> I would recommend:
>
> Server1:
>
>    master1 - connector points to server2 master and server2 slave
>    slave1 - connectors point to server 2 master and server2 slave
>
> i.e. don't have a network connector to the local slave
>
>

I´ll test it but sounds logic, thank you.

-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

Re: Network of brokers

Posted by Rob Davies <ra...@gmail.com>.
This doesn't look right.

I would recommend:

Server1:

   master1 - connector points to server2 master and server2 slave
   slave1 - connectors point to server 2 master and server2 slave

i.e. don't have a network connector to the local slave


Rob Davies
http://rajdavies.blogspot.com/


On 21 Dec 2006, at 10:55, Javier Leyba wrote:

> On 12/21/06, Marlon Santos <ms...@exist.com> wrote:
>>
>> Hi,
>>
>> well it just seems that the people behind amq are just busy. If they
>> weren't, they will be more
>> willing to help out guys.
>>
>> As to your issues, can you please post a test case, with  
>> descriptions about
>> the problem. I'll try to help in ways I can.
>>
>
>
> Hi
>
> Thanks for your reply and for clarify the problem.
>
> I've a doubt about how to configure the network of brokers.
>
> I've two JBoss Server with a master and a slave broker each one. I
> wnat to know which is the best way to configure network connectors on
> each broker (and nobody answered me).
>
> I did something like this (with static ips because I can't use  
> multicast):
>
> - In master of server1 my network connector points to
>   * server 2 master
>   * server 2 slave

>   * server 1 slave
>
> - In slave of server 1:
>   * server 2 master
>   * server 2 slave
>   * server 1 master
>
> and something similar in server 2. both with failover="true"  
> dynamicOnly="true".
>
>
> Is this ok or do you know a better way to do it ?
>
>
> Thanks in advance.
>
> -- 
> Javier Leyba
> Barcelona - Spain
> http://blog.leyba.com.ar








Re: Network of brokers

Posted by Javier Leyba <xl...@gmail.com>.
On 12/21/06, Marlon Santos <ms...@exist.com> wrote:
>
> Hi,
>
> well it just seems that the people behind amq are just busy. If they
> weren't, they will be more
> willing to help out guys.
>
> As to your issues, can you please post a test case, with descriptions about
> the problem. I'll try to help in ways I can.
>


Hi

Thanks for your reply and for clarify the problem.

I've a doubt about how to configure the network of brokers.

I've two JBoss Server with a master and a slave broker each one. I
wnat to know which is the best way to configure network connectors on
each broker (and nobody answered me).

I did something like this (with static ips because I can't use multicast):

- In master of server1 my network connector points to
   * server 2 master
   * server 2 slave
   * server 1 slave

- In slave of server 1:
   * server 2 master
   * server 2 slave
   * server 1 master

and something similar in server 2. both with failover="true" dynamicOnly="true".


Is this ok or do you know a better way to do it ?


Thanks in advance.

-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

Re: Network of brokers

Posted by Marlon Santos <ms...@exist.com>.
Hi,

well it just seems that the people behind amq are just busy. If they
weren't, they will be more
willing to help out guys.

As to your issues, can you please post a test case, with descriptions about
the problem. I'll try to help in ways I can.

As to the other comments, please try to refrain the "flames" because this is
an open source
project, so please be polite as much as possible.

Regards,
Marlon 



conio wrote:
> 
> Granted that I haven't tried ActiveMQ 4.1.0 yet, but earlier versions 
> seem to have serious problems with network of brokers together with 
> durable topic subscribers when network disconnects (between brokers) 
> happen. That was the simulated situations I tried, and the one feature I 
> would love to use and have in ActiveMQ.
> 
> Unfortunately I must concur with Bernhard that the otherwise very 
> supportive mailing list went dead silent when I brought that subject up.
> 
> //Jerker
> 
> Javier Leyba wrote:
>> On 12/21/06, Bernhard Wellhöfer <Be...@gaia-group.com> 
>> wrote:
>>> Hello Prashanth,
>>>
>>> I agree that the clustering/network or brokers feature is not ready 
>>> for a productive scenario. The problem is that the ActiveMQ homepage 
>>> does not warn you about this case. Therefore again and again people 
>>> waste time by trying out this feature - as each new mail for this 
>>> issue to the mailing list proves. It's a pity that this as a whole 
>>> makes ActiveMQ less trustworthy...
>>>
>>
>> Is this totally true ???
>>
>> I've an application that use network of brokers ready to go to test.
>> I've configured it with the help of this list and nobody told me what
>> you say...
>>
>> If this is true I'll be in big problems after four months of
>> development with this product. I can´t believe it !
>>
>> If this is true I'm a dead man...  :(
>>
>>
> 
> 

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


Re: Network of brokers

Posted by Jerker Klang <co...@linuxpower.nu>.
Granted that I haven't tried ActiveMQ 4.1.0 yet, but earlier versions 
seem to have serious problems with network of brokers together with 
durable topic subscribers when network disconnects (between brokers) 
happen. That was the simulated situations I tried, and the one feature I 
would love to use and have in ActiveMQ.

Unfortunately I must concur with Bernhard that the otherwise very 
supportive mailing list went dead silent when I brought that subject up.

//Jerker

Javier Leyba wrote:
> On 12/21/06, Bernhard Wellhöfer <Be...@gaia-group.com> 
> wrote:
>> Hello Prashanth,
>>
>> I agree that the clustering/network or brokers feature is not ready 
>> for a productive scenario. The problem is that the ActiveMQ homepage 
>> does not warn you about this case. Therefore again and again people 
>> waste time by trying out this feature - as each new mail for this 
>> issue to the mailing list proves. It's a pity that this as a whole 
>> makes ActiveMQ less trustworthy...
>>
>
> Is this totally true ???
>
> I've an application that use network of brokers ready to go to test.
> I've configured it with the help of this list and nobody told me what
> you say...
>
> If this is true I'll be in big problems after four months of
> development with this product. I can´t believe it !
>
> If this is true I'm a dead man...  :(
>
>

Re: Network of brokers

Posted by Javier Leyba <xl...@gmail.com>.
On 12/21/06, Bernhard Wellhöfer <Be...@gaia-group.com> wrote:
> Hello Prashanth,
>
> I agree that the clustering/network or brokers feature is not ready for a productive scenario. The problem is that the ActiveMQ homepage does not warn you about this case. Therefore again and again people waste time by trying out this feature - as each new mail for this issue to the mailing list proves. It's a pity that this as a whole makes ActiveMQ less trustworthy...
>

Is this totally true ???

I've an application that use network of brokers ready to go to test.
I've configured it with the help of this list and nobody told me what
you say...

If this is true I'll be in big problems after four months of
development with this product. I can´t believe it !

If this is true I'm a dead man...  :(


-- 
Javier Leyba
Barcelona - Spain
http://blog.leyba.com.ar

AW: Network of brokers

Posted by Bernhard Wellhöfer <Be...@gaia-group.com>.
Hello Prashanth,

I agree that the clustering/network or brokers feature is not ready for a productive scenario. The problem is that the ActiveMQ homepage does not warn you about this case. Therefore again and again people waste time by trying out this feature - as each new mail for this issue to the mailing list proves. It's a pity that this as a whole makes ActiveMQ less trustworthy...

Regards,

Bernhard
 

> -----Ursprüngliche Nachricht-----
> Von: Anthrope [mailto:pn@anthrope.com] 
> Gesendet: Donnerstag, 21. Dezember 2006 01:47
> An: activemq-users@geronimo.apache.org
> Betreff: Re: Network of brokers
> 
> 
> Bernard,
> 
>       I agree with you on this. I've posted detailed 
> questions on clustering/networks or brokers and have met 
> deafening silence. The folks on this list are very helpful 
> and willing to share, so I'll hazard a guess that the 
> clustering/network or brokers feature is simply not ready. 
> I've tried a ton of different configurations, and none of 
> them work the way they're supposed to. The documentation 
> describes a broker cluster as a logical group of clusters, 
> but the behaviour I see is anything but that. For instance, I 
> can set things up so that I've got two brokers who know about 
> each other (via their respective netWorkConnector 
> specifications), but cannot have a producer produce data on 
> one broker and a consumer consume data from the other!
> 
> What I have been able to get done is a Master-Slave 
> configuration using MySQL. But that is painfully slow, 
> especially if you're dealing with large messages. What I will 
> do is post my configuration files when I have tweaked and 
> tuned them to the point that they can work in a production 
> environment.
> Hopefully others will find them useful, even if only as a 
> starting point.
> 
> Regards,
> Prashanth
> 
> 
> 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-tf2546736.html#a8000961
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> 
> 
> 
> 
> 

Re: Network of brokers

Posted by Anthrope <pn...@anthrope.com>.
Bernard,

      I agree with you on this. I've posted detailed questions on
clustering/networks or brokers and have met deafening silence. The folks on
this list are very helpful and willing to share, so I'll hazard a guess that
the clustering/network or brokers feature is simply not ready. I've tried a
ton of different configurations, and none of them work the way they're
supposed to. The documentation describes a broker cluster as a logical group
of clusters, but the behaviour I see is anything but that. For instance, I
can set things up so that I've got two brokers who know about each other
(via their respective netWorkConnector specifications), but cannot have a
producer produce data on one broker and a consumer consume data from the
other!

What I have been able to get done is a Master-Slave configuration using
MySQL. But that is painfully slow, especially if you're dealing with large
messages. What I will do is post my configuration files when I have tweaked
and tuned them to the point that they can work in a production environment.
Hopefully others will find them useful, even if only as a starting point.

Regards,
Prashanth


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-tf2546736.html#a8000961
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Network of brokers

Posted by Arif Mohd <ar...@wipro.com>.
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.


Re: Network of brokers

Posted by sanne <sa...@newfoundland.nl>.
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-tf2546736.html#a7117463
Sent from the ActiveMQ - User mailing list archive at Nabble.com.