Repository: activemq
Updated Branches:
  refs/heads/master e05db7cb5 -> 9f7d70ba0


https://issues.apache.org/jira/browse/AMQ-6366

Need to make sure that the durableDestinations set on the duplex bridge
are only topics


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/9f7d70ba
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/9f7d70ba
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/9f7d70ba

Branch: refs/heads/master
Commit: 9f7d70ba0d8f0262c76844954b274786e3d7545f
Parents: e05db7c
Author: Christopher L. Shannon (cshannon) <[email protected]>
Authored: Wed Jul 20 08:33:15 2016 -0400
Committer: Christopher L. Shannon (cshannon) <[email protected]>
Committed: Wed Jul 20 08:33:45 2016 -0400

----------------------------------------------------------------------
 .../activemq/broker/TransportConnection.java       |  8 ++++----
 .../apache/activemq/network/NetworkConnector.java  | 17 +++++++++++------
 2 files changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/9f7d70ba/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
index 8019c12..92133e8 100755
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnection.java
@@ -81,6 +81,7 @@ import org.apache.activemq.network.DemandForwardingBridge;
 import org.apache.activemq.network.MBeanNetworkListener;
 import org.apache.activemq.network.NetworkBridgeConfiguration;
 import org.apache.activemq.network.NetworkBridgeFactory;
+import org.apache.activemq.network.NetworkConnector;
 import org.apache.activemq.security.MessageAuthorizationPolicy;
 import org.apache.activemq.state.CommandVisitor;
 import org.apache.activemq.state.ConnectionState;
@@ -1420,11 +1421,10 @@ public class TransportConnection implements Connection, 
Task, CommandVisitor {
                 listener.setCreatedByDuplex(true);
                 duplexBridge = NetworkBridgeFactory.createBridge(config, 
localTransport, remoteBridgeTransport, listener);
                 duplexBridge.setBrokerService(brokerService);
-                Set<ActiveMQDestination> durableDestinations = 
broker.getDurableDestinations();
                 //Need to set durableDestinations to properly restart subs 
when dynamicOnly=false
-                if (durableDestinations != null) {
-                    
duplexBridge.setDurableDestinations(broker.getDurableDestinations().toArray(new 
ActiveMQDestination[0]));
-                }
+                
duplexBridge.setDurableDestinations(NetworkConnector.getDurableTopicDestinations(
+                        broker.getDurableDestinations()));
+
                 // now turn duplex off this side
                 info.setDuplexConnection(false);
                 duplexBridge.setCreatedByDuplex(true);

http://git-wip-us.apache.org/repos/asf/activemq/blob/9f7d70ba/activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java
 
b/activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java
index b37dc0f..5faf94c 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java
@@ -135,6 +135,15 @@ public abstract class NetworkConnector extends 
NetworkBridgeConfiguration implem
         destsList = getStaticallyIncludedDestinations();
         dests = destsList.toArray(new ActiveMQDestination[destsList.size()]);
         result.setStaticallyIncludedDestinations(dests);
+        
result.setDurableDestinations(getDurableTopicDestinations(durableDestinations));
+        return result;
+    }
+
+    protected Transport createLocalTransport() throws Exception {
+        return TransportFactory.connect(localURI);
+    }
+
+    public static ActiveMQDestination[] getDurableTopicDestinations(final 
Set<ActiveMQDestination> durableDestinations) {
         if (durableDestinations != null) {
 
             HashSet<ActiveMQDestination> topics = new 
HashSet<ActiveMQDestination>();
@@ -146,13 +155,9 @@ public abstract class NetworkConnector extends 
NetworkBridgeConfiguration implem
 
             ActiveMQDestination[] dest = new 
ActiveMQDestination[topics.size()];
             dest = topics.toArray(dest);
-            result.setDurableDestinations(dest);
+            return dest;
         }
-        return result;
-    }
-
-    protected Transport createLocalTransport() throws Exception {
-        return TransportFactory.connect(localURI);
+        return null;
     }
 
     @Override

Reply via email to