You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2012/04/13 14:24:59 UTC

svn commit: r1325735 - /activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java

Author: gtully
Date: Fri Apr 13 12:24:58 2012
New Revision: 1325735

URL: http://svn.apache.org/viewvc?rev=1325735&view=rev
Log:
https://issues.apache.org/jira/browse/AMQ-3630 - NetworkBridgeFilterFactory should be assigned to Queue not NetworkBridge - thanks. the filter should be evaluated per destination

Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java?rev=1325735&r1=1325734&r2=1325735&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java Fri Apr 13 12:24:58 2012
@@ -121,7 +121,7 @@ public abstract class DemandForwardingBr
     protected CountDownLatch localStartedLatch = new CountDownLatch(1);
     protected final AtomicBoolean lastConnectSucceeded = new AtomicBoolean(false);
     protected NetworkBridgeConfiguration configuration;
-    protected NetworkBridgeFilterFactory filterFactory;
+    protected final NetworkBridgeFilterFactory defaultFilterFactory = new DefaultNetworkBridgeFilterFactory();
 
     protected final BrokerId remoteBrokerPath[] = new BrokerId[] {null};
     protected Object brokerInfoMutex = new Object();
@@ -1188,18 +1188,14 @@ public abstract class DemandForwardingBr
     }
 
     protected NetworkBridgeFilter createNetworkBridgeFilter(ConsumerInfo info) throws IOException {
-        if (filterFactory == null)  {
-            if (brokerService != null && brokerService.getDestinationPolicy() != null) {
-                PolicyEntry entry = brokerService.getDestinationPolicy().getEntryFor(info.getDestination());
-                if (entry != null) {
-                    filterFactory = entry.getNetworkBridgeFilterFactory();
-                }
-            }
-            if (filterFactory == null) {
-                filterFactory = new DefaultNetworkBridgeFilterFactory();
+        NetworkBridgeFilterFactory filterFactory = defaultFilterFactory;
+        if (brokerService != null && brokerService.getDestinationPolicy() != null) {
+            PolicyEntry entry = brokerService.getDestinationPolicy().getEntryFor(info.getDestination());
+            if (entry != null && entry.getNetworkBridgeFilterFactory() != null) {
+                filterFactory = entry.getNetworkBridgeFilterFactory();
             }
         }
-         return filterFactory.create(info, getRemoteBrokerPath(), configuration.getNetworkTTL() );
+        return filterFactory.create(info, getRemoteBrokerPath(), configuration.getNetworkTTL());
     }
 
     protected void serviceLocalBrokerInfo(Command command) throws InterruptedException {