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="&gt;">
> > >           <pendingMessageLimitStrategy>
> > >             <constantPendingMessageLimitStrategy limit="1000"/>
> > >           </pendingMessageLimitStrategy>
> > >         </policyEntry>
> > >         <policyEntry advisoryForConsumed="true"
> > advisoryForDelivery="true"
> > > gcInactiveDestinations="true" inactiveTimoutBeforeGC="604800000"
> > > includeBodyForAdvisory="true" memoryLimit="512MB" queue="&gt;"
> > > 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.&gt;" prefix="Consumer.*."/>
> > >         <virtualTopic name="VirtualTopicSB.&gt;" 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="&gt;"/>
> > >         <topic physicalName="VirtualTopic.&gt;"/>
> > >         <topic physicalName="VirtualTopicSB.&gt;"/>
> > >       </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="&gt;"/>
> > >       </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="&gt;.DEV"/>
> > >         <queue physicalName="&gt;.Dev"/>
> > >         <queue physicalName="&gt;.dev"/>
> > >       </dynamicallyIncludedDestinations>
> > >       <excludedDestinations>
> > >         <topic physicalName="&gt;"/>
> > >       </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


Reply via email to