Gary, Torsten, and others have said in various places that broker-to-broker networkConnectors should set maxReconnectAttempts=0 to allow reconnection to be handled by the network bridge. (Sources: 1 <http://tmielke.blogspot.com/2011/09/activemq-network-bridge-to-masterslave.html>, 2 <http://activemq.2283324.n4.nabble.com/Persistent-messages-disappearing-td4681353.html>, 3 <http://grokbase.com/t/activemq/users/1427v9eqkf/prioritybackup-not-supported-with-masterslave>) Torsten (link 1) was talking about static: network connectors, while Gary's quotes in the other two links were related to failover: (or masterslave:, which is just chrome on top of failover:), but if it's a requirement of the network bridge that it be the one to re-establish the question, it shouldn't matter what the underlying transport is.
It's obvious in FailoverTransport <http://grepcode.com/file/repo1.maven.org/maven2/org.apache.activemq/activemq-client/5.10.0/org/apache/activemq/transport/failover/FailoverTransport.java#FailoverTransport> how maxReconnectAttempts=0 gets processed to mean "don't try to reconnect", allowing the network bridge to re-establish the connection, and there are notes in http://activemq.apache.org/failover-transport-reference.html explaining that this interpretation of the value "0" was implemented in 5.6.0 (https://issues.apache.org/jira/browse/AMQ-3542). There's no similar code in SimpleDiscoveryAgent <http://grepcode.com/file/repo1.maven.org/maven2/org.apache.activemq/activemq-all/5.10.0/org/apache/activemq/transport/discovery/simple/SimpleDiscoveryAgent.java#SimpleDiscoveryAgent> (which handles connection attempts for the static: transport <http://activemq.apache.org/static-transport-reference.html>, as I understand it) to interpret "-1" as "reconnect forever" and "0" as "don't reconnect". Is Gary's and Torsten's advice about maxReconnectAttempts not applicable to static: network connectors for some reason that I'm not understanding? Or should the changes Gary made in AMQ-3542 have been applied to all protocols that include reconnection attempts? (Do I need to open a JIRA for this?) And a related question: when using the static: transport to establish a broker mesh, if we set maxReconnectAttempts=0, is there a way to perform exponential backoff at the network bridge, so it doesn't continually try to reconnect (and spam the logs) when one broker in the mesh is offline for a while? The only way I see to control exponential backoff is within the static: transport via the useExponentialBackOff=true option; searching the source code (I'm looking at 5.8.0), I don't see any references to exponential backoff in any code that seems to be related to network bridges... Thanks, Tim