The default value of networkTTL is 1 (per the documentation); does this mean that messages will not cross more than one broker? Could that be causing the problem above?
I'd say it's the TTL that causes your problem (it actually does what you said). Try setting it at least to 2. I'd also configure the dynamicOnly to true, since otherwise the message could be passed from broker A to broker B (no consumer attached) and then later a consumer on A wouldn't be able to receive it anymore (run out of TTL). See also http://activemq.apache.org/networks-of-brokers.html esp. the configuration pitfall section. We ran into the exact same problem as you did, it gets even worse with 3 brokers... :) Sincerely Mario