diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java index 0ca4cc2fcea..86dda092d42 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java +++ b/activemq-broker/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java @@ -1583,17 +1583,21 @@ private boolean duplicateSuppressionIsRequired(DemandSubscription candidate) { } List candidateConsumers = consumerInfo.getNetworkConsumerIds(); + // null when the destination's region is not an AbstractRegion (no + // subscription view available) - nothing to compare against Collection currentSubs = getRegionSubscriptions(consumerInfo.getDestination()); - for (Subscription sub : currentSubs) { - List networkConsumers = sub.getConsumerInfo().getNetworkConsumerIds(); - if (!networkConsumers.isEmpty()) { - if (matchFound(candidateConsumers, networkConsumers)) { - if (isInActiveDurableSub(sub)) { - suppress = false; - } else { - suppress = hasLowerPriority(sub, candidate.getLocalInfo()); + if (currentSubs != null) { + for (Subscription sub : currentSubs) { + List networkConsumers = sub.getConsumerInfo().getNetworkConsumerIds(); + if (!networkConsumers.isEmpty()) { + if (matchFound(candidateConsumers, networkConsumers)) { + if (isInActiveDurableSub(sub)) { + suppress = false; + } else { + suppress = hasLowerPriority(sub, candidate.getLocalInfo()); + } + break; } - break; } } }