In my broker "B" which is the hub in the hub & spoke topology, and in org.apache.activemq.network.ConduitBridge#addToAlreadyInterestedConsumers
There is this code: protected boolean addToAlreadyInterestedConsumers(ConsumerInfo info) { // search through existing subscriptions and see if we have a match if (info.isNetworkSubscription()) { return false; } boolean matched = false; for (DemandSubscription ds : subscriptionMapByLocalId.values()) { DestinationFilter filter = DestinationFilter.parseFilter(ds.getLocalInfo().getDestination()); if (canConduit(ds) && filter.matches(info.getDestination())) { I get two ConsumerInfo instances (as expected, from "C" and "D"), each of these have isNetworkSubscription = false On top of that, canConduit(ds) is true but filter.matches(info.getDestination()) evaluates to false in both cases. I would expect that when the first one comes, the subscriptionMapByLocalId would get updated and the second one would result in a conduit. But that does not happen. I suspect that the glitch is in subscriptionMapByLocalId not getting updated when it should... Tomas -- View this message in context: http://activemq.2283324.n4.nabble.com/Duplicate-messages-received-with-ActiveMQ-5-13-2-tp4728627p4729005.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.