From 3e1550143941eb07865990d4d28c9eb67d91c18d Mon Sep 17 00:00:00 2001 From: Bosanac Dejan Date: Fri, 31 Dec 2010 11:18:14 +0000 Subject: [PATCH] https://issues.apache.org/jira/browse/AMQ-3107 - make sure advisories work for bridges created by duplex git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1054096 13f79535-47bb-0310-9956-ffa450edef68 --- .../DemandForwardingBridgeSupport.java | 1 - .../AdvisoryDuplexNetworkBridgeTest.java | 43 +++++++++++++++++++ .../advisory/AdvisoryNetworkBridgeTest.java | 21 ++++++--- 3 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryDuplexNetworkBridgeTest.java diff --git a/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java b/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java index 9f5a1d9f32..d05c97cb50 100644 --- a/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java +++ b/activemq-core/src/main/java/org/apache/activemq/network/DemandForwardingBridgeSupport.java @@ -148,7 +148,6 @@ public abstract class DemandForwardingBridgeSupport implements NetworkBridge, Br this.duplexInitiatingConnection = connection; start(); serviceRemoteCommand(remoteBrokerInfo); - brokerService.getBroker().networkBridgeStarted(remoteBrokerInfo); } public void start() throws Exception { diff --git a/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryDuplexNetworkBridgeTest.java b/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryDuplexNetworkBridgeTest.java new file mode 100644 index 0000000000..c7bb6beb0a --- /dev/null +++ b/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryDuplexNetworkBridgeTest.java @@ -0,0 +1,43 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.broker.advisory; + +import org.apache.activemq.broker.BrokerFactory; +import org.apache.activemq.broker.BrokerService; + +import java.net.URI; + +public class AdvisoryDuplexNetworkBridgeTest extends AdvisoryNetworkBridgeTest { + + @Override + public void createBroker1() throws Exception { + broker1 = new BrokerService(); + broker1.setBrokerName("broker1"); + broker1.addConnector("tcp://localhost:61617"); + broker1.setUseJmx(false); + broker1.setPersistent(false); + broker1.start(); + broker1.waitUntilStarted(); + } + + @Override + public void createBroker2() throws Exception { + broker2 = BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/duplexLocalBroker.xml")); + broker2.start(); + broker2.waitUntilStarted(); + } +} diff --git a/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryNetworkBridgeTest.java b/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryNetworkBridgeTest.java index 1a1f25e302..d9aea9f123 100644 --- a/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryNetworkBridgeTest.java +++ b/activemq-core/src/test/java/org/apache/activemq/broker/advisory/AdvisoryNetworkBridgeTest.java @@ -36,9 +36,7 @@ public class AdvisoryNetworkBridgeTest extends TestCase { public void testAdvisory() throws Exception { - broker1 = BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker1.xml")); - broker1.start(); - broker1.waitUntilStarted(); + createBroker1(); ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://broker1"); Connection conn = factory.createConnection(); @@ -48,9 +46,7 @@ public class AdvisoryNetworkBridgeTest extends TestCase { Thread.sleep(1000); - broker2 = BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker2.xml")); - broker2.start(); - broker2.waitUntilStarted(); + createBroker2(); ActiveMQMessage advisory = (ActiveMQMessage)consumer.receive(2000); assertNotNull(advisory); @@ -67,6 +63,19 @@ public class AdvisoryNetworkBridgeTest extends TestCase { } + public void createBroker1() throws Exception { + broker1 = BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker1.xml")); + broker1.start(); + broker1.waitUntilStarted(); + } + + public void createBroker2() throws Exception { + broker2 = BrokerFactory.createBroker(new URI("xbean:org/apache/activemq/network/reconnect-broker2.xml")); + broker2.start(); + broker2.waitUntilStarted(); + } + + @Override protected void tearDown() throws Exception { broker1.stop();