But you have two duplex nc on broker1 right ? On Fri, Oct 10, 2025 at 7:54 PM Ken Liao <[email protected]> wrote: > > Hey JB, thank you! > > On broker 2 there is no duplex bridge defined to broker 1. Which two duplex > bridges are you referring to? > > Thanks, > Ken > > On Wed, Oct 8, 2025 at 11:51 AM Jean-Baptiste Onofré <[email protected]> > wrote: > > > Hi Ken, > > > > I think that the problem is that the vm endpoint is the same as you > > are creating two full duplex. I guess it works if you don't use duplex > > right ? > > > > I will try to reproduce. > > > > Regards > > JB > > > > On Thu, Oct 2, 2025 at 11:10 PM Ken Liao <[email protected]> wrote: > > > > > > Hi, I have a question about the behaviour of network of brokers in > > ActiveMQ > > > Classic 5.18.7. > > > > > > I have two brokers connected in NoB with several duplex bridges. However, > > > on start up, for NetworkConnector nc1 on broker-1, it keeps shutting down > > > after start but on broker-2 the responder was able to start up correctly. > > > > > > ### activemq.log for Broker-1 > > > > > > ``` > > > 2025-09-21 10:41:53,783 | INFO | Async start of > > > DiscoveryNetworkConnector:nc1:BrokerService[broker-1] | > > > org.apache.activemq.broker.BrokerService | NetworkConnector Start > > Thread-3 > > > > > > 2025-09-21 10:42:23,921 | INFO | Error with pending remote brokerInfo > > on: > > > ssl://null:0 (Channel was inactive (no connection attempt made) for too > > > (>30000) long: null) | > > > org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ > > > InactivityMonitor Worker 11 > > > > > > 2025-09-21 10:42:23,998 | WARN | Could not start network bridge between: > > > vm://broker-1 and: ssl://<broker-2-uri> due to: connect timed out | > > > org.apache.activemq.network.DiscoveryNetworkConnector | NetworkConnector > > > Start Thread-0 > > > > > > 2025-09-21 10:42:24,011 | INFO | broker-1 Shutting down nc1 | > > > org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ > > > BrokerService[broker-1] Task-44 > > > ``` > > > > > > ### activemq.log for Broker-2 > > > > > > ``` > > > 2025-09-21 10:42:23,757 | WARN | Async error occurred | > > > org.apache.activemq.broker.TransportConnection.Service | ActiveMQ NIO > > > Worker 16677 > > > 2025-09-21 10:42:25,809 | INFO | Started responder end of duplex bridge > > > nc1@<broker-1-uri> | org.apache.activemq.broker.TransportConnection | > > > ActiveMQ NIO Worker 16684 > > > ``` > > > > > > > > > My questions: > > > > > > 1. If that is the case, then the consumer on broker 1 will not be able to > > > consume message from a queue in broker 2? Especially, that queue is a > > > Consumer queue of a virtual topic. > > > 2. However, with the responder end started, consumer on broker 2 will be > > > able to consume message from a queue in broker 1? > > > 2. Why would networkBridge from broker-2 -> broker-1 was able to start > > but > > > broker-1 -> broker-2 was shutdown almost immediately? > > > > > > Thank you so much!! > > > > > > Thanks, > > > Ken > > > > > > > > > Here are the configurations for both > > > > > > Broker-1 > > > > > > ```xml > > > <broker > > > advisorySupport="true" > > > deleteAllMessagesOnStartup="true" > > > schedulePeriodForDestinationPurge="10000" > > > schedulerSupport="true" > > > networkConnectorStartAsync="true" > > > restartAllowed="false" > > > xmlns="http://activemq.apache.org/schema/core"> > > > <destinationPolicy> > > > <policyMap> > > > <policyEntries> > > > <policyEntry advisoryForConsumed="true" > > advisoryForDelivery="true" > > > gcInactiveDestinations="true" inactiveTimoutBeforeGC="604800000" > > > includeBodyForAdvisory="true" memoryLimit="512MB" topic=">"> > > > <pendingMessageLimitStrategy> > > > <constantPendingMessageLimitStrategy limit="1000"/> > > > </pendingMessageLimitStrategy> > > > </policyEntry> > > > <policyEntry advisoryForConsumed="true" > > advisoryForDelivery="true" > > > gcInactiveDestinations="true" inactiveTimoutBeforeGC="604800000" > > > includeBodyForAdvisory="true" memoryLimit="512MB" queue=">" > > > queuePrefetch="10" reduceMemoryFootprint="true"> > > > <deadLetterStrategy> > > > <individualDeadLetterStrategy expiration="604800000" > > > processExpired="true" queuePrefix="DLQ." > > useQueueForQueueMessages="true"/> > > > </deadLetterStrategy> > > > <networkBridgeFilterFactory> > > > <conditionalNetworkBridgeFilterFactory > > > replayWhenNoConsumers="true"/> > > > </networkBridgeFilterFactory> > > > </policyEntry> > > > </policyEntries> > > > </policyMap> > > > </destinationPolicy> > > > > > > <destinationInterceptors> > > > <virtualDestinationInterceptor> > > > <virtualDestinations> > > > <virtualTopic name="VirtualTopic.>" prefix="Consumer.*."/> > > > <virtualTopic name="VirtualTopicSB.>" prefix="ConsumerSB.*." > > > selectorAware="true"/> > > > </virtualDestinations> > > > </virtualDestinationInterceptor> > > > </destinationInterceptors> > > > > > > <plugins> > > > <authorizationPlugin> > > > <map> > > > <cachedLDAPAuthorizationMap legacyGroupMapping="false" > > > refreshInterval="1200000"/> > > > </map> > > > <map> > > > <authorizationMap> > > > <!-- Some authorization configuration for each queue --> > > > </authorizationMap> > > > </map> > > > </authorizationPlugin> > > > <timeStampingBrokerPlugin ttlCeiling="14400000" > > > zeroExpirationOverride="14400000"/> > > > <statisticsBrokerPlugin/> > > > </plugins> > > > > > > <networkConnectors> > > > <networkConnector conduitSubscriptions="true" > > > decreaseNetworkConsumerPriority="true" duplex="true" name="nc1" > > > prefetchSize="10" uri="static:(ssl://<uri to broker-2>)" > > userName="qadmin"> > > > <excludedDestinations> > > > <queue physicalName=">"/> > > > <topic physicalName="VirtualTopic.>"/> > > > <topic physicalName="VirtualTopicSB.>"/> > > > </excludedDestinations> > > > </networkConnector> > > > <networkConnector conduitSubscriptions="false" > > > decreaseNetworkConsumerPriority="true" duplex="true" name="nc2" > > > prefetchSize="10" uri="static:(ssl://<uri to broker-2>)" > > userName="qadmin"> > > > <excludedDestinations> > > > <topic physicalName=">"/> > > > </excludedDestinations> > > > </networkConnector> > > > <networkConnector conduitSubscriptions="false" > > > decreaseNetworkConsumerPriority="false" duplex="true" name="nc3" > > > prefetchSize="10" uri="static:(ssl://<uri to broker-2>)" > > userName="qadmin"> > > > <dynamicallyIncludedDestinations> > > > <queue physicalName=">.DEV"/> > > > <queue physicalName=">.Dev"/> > > > <queue physicalName=">.dev"/> > > > </dynamicallyIncludedDestinations> > > > <excludedDestinations> > > > <topic physicalName=">"/> > > > </excludedDestinations> > > > </networkConnector> > > > > > > <!-- a few other networkConnector that setup duplex bridge to > > broker-2 > > > that mimic the pattern above but for different sets of queues --> > > > </networkConnectors> > > > </broker> > > > ``` > > > > > > Broker 2 > > > > > > ```xml > > > <broker > > > advisorySupport="true" > > > deleteAllMessagesOnStartup="true" > > > schedulePeriodForDestinationPurge="10000" > > > schedulerSupport="true" > > > networkConnectorStartAsync="true" > > > restartAllowed="false" > > > xmlns="http://activemq.apache.org/schema/core"> > > > <!-- same destinationPolicy, plugins and destinationInterceptors > > > configuration--> > > > > > > <!-- no network connectors because broker 1 is duplex--> > > > </broker> > > > ``` > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > For further information, visit: https://activemq.apache.org/contact > > > > > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information, visit: https://activemq.apache.org/contact
