Hi Eric, Good catch. The change does stop forwarding, but possibly the problem is in the filter that stops forwarding as other parts of the code depend on the brokerPath being extended/copied appended to. In particular the enforcement of NetworkHops limited by NetworkTTL.
see: org.apache.activemq.command.NetworkBridgeFilter.matchesForwardingFilter(Message) http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/command/NetworkBridgeFilter.java?view=markup Do you have a JUnit test case that shows this problem such that it can be included in the test suite? Regards, Gary. 2009/3/5 Eric Chu <[email protected]> > Hi, > > Sorry, just writing the email has helped me find the issue: > > AMQ 5.1 - org.apache.activemq.command.Message.java @ copy(Message) > // copying the broker path breaks networks - if a consumer re-uses a > // consumed > // message and forwards it on > // copy.brokerPath = brokerPath; > > AMQ 5.2 - org.apache.activemq.command.Message.java @ copy(Message) > copy.brokerPath = brokerPath; > > Looks like copying of brokerPath was uncommented in 5.2. Looks like this > change has caused exactly what was commented into code in version 5.1. It > breaks the network of brokers and prevents message forwarding. > > Best Regards, > Eric > > On Wed, Mar 4, 2009 at 9:28 PM, Eric Chu <[email protected]> wrote: > > > Hi, > > > > I was hoping that any developers that have experience developing on the > > brokerPath property of the Message object might be able to give me > insight > > on something peculiar I am seeing in 5.1 versus 5.2. > > > > On 5.1, using a Network of 5 Brokers, this is a trace for a message > hopping > > from broker to broker. But in the code, the brokerPath is always only 1 > > entry. (note: the one brokerId entry in the brokerPath is always the > > brokerId of the previous broker the message had been on) > > > > PRODUCED > B1 > B4 > B3 > B1 > B4 > B2 > B1 > B3 > B4 > B1 > B3 > B2 > B4 > > > B5 > B3 > B4 > B5 > B1 > B2 > B5 > B3 > B2 > B5 > B3 > B1 > B5 > B2 > > > DELIVERED > > > > > > On 5.2, using a Network of 5 Brokers, this is a trace for a message > hopping > > from broker to broker. But in this case, the brokerPath grows and > persists > > which broker it had been on originally. > > > > PRODUCED > B5 > B3 > B1 > B2 > DELIVERED > > PRODUCED > B5 > B3 > B1 > B2 > B4 > ORPHANED > > > > I'm wondering if this change in the functionality of the brokerPath has > > inadvertently introduced the following bug ( > > https://issues.apache.org/activemq/browse/AMQ-2135). Any insight would > be > > appreciated, I am actively trying to solve this one. > > > > Best Regards, > > Eric > > > -- http://blog.garytully.com Open Source SOA http://FUSESource.com
