Repository: activemq
Updated Branches:
  refs/heads/trunk ec2a3c750 -> 7c2735d0f


https://issues.apache.org/jira/browse/AMQ-5317 fix and test


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

Branch: refs/heads/trunk
Commit: 7c2735d0f4af9cfcb5c94690d03e2a8a7cdf59bb
Parents: ec2a3c7
Author: gtully <gary.tu...@gmail.com>
Authored: Fri Aug 8 14:09:17 2014 +0100
Committer: gtully <gary.tu...@gmail.com>
Committed: Fri Aug 8 14:09:46 2014 +0100

----------------------------------------------------------------------
 .../apache/activemq/broker/BrokerService.java   |  4 +--
 .../apache/activemq/broker/jmx/BrokerView.java  |  2 +-
 .../apache/activemq/broker/jmx/MBeanTest.java   | 30 ++++++++++++++++++++
 3 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/7c2735d0/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java 
b/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java
index 50589b8..5c36034 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java
@@ -2493,7 +2493,6 @@ public class BrokerService implements Service {
         List<TransportConnector> al = new ArrayList<TransportConnector>();
         for (Iterator<TransportConnector> iter = 
getTransportConnectors().iterator(); iter.hasNext();) {
             TransportConnector connector = iter.next();
-            connector.setBrokerService(this);
             al.add(startTransportConnector(connector));
         }
         if (al.size() > 0) {
@@ -2570,7 +2569,8 @@ public class BrokerService implements Service {
         }
     }
 
-    protected TransportConnector startTransportConnector(TransportConnector 
connector) throws Exception {
+    public TransportConnector startTransportConnector(TransportConnector 
connector) throws Exception {
+        connector.setBrokerService(this);
         connector.setTaskRunnerFactory(getTaskRunnerFactory());
         MessageAuthorizationPolicy policy = getMessageAuthorizationPolicy();
         if (policy != null) {

http://git-wip-us.apache.org/repos/asf/activemq/blob/7c2735d0/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
----------------------------------------------------------------------
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
index 3f34768..3a9d10b 100755
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
@@ -355,7 +355,7 @@ public class BrokerView implements BrokerViewMBean {
         if (connector == null) {
             throw new NoSuchElementException("Not connector matched the given 
name: " + discoveryAddress);
         }
-        connector.start();
+        brokerService.startTransportConnector(connector);
         return connector.getName();
     }
 

http://git-wip-us.apache.org/repos/asf/activemq/blob/7c2735d0/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
----------------------------------------------------------------------
diff --git 
a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
 
b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
index a47b7a9..55b283f 100644
--- 
a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
+++ 
b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/MBeanTest.java
@@ -1362,6 +1362,36 @@ public class MBeanTest extends EmbeddedBrokerTestSupport 
{
         session.close();
     }
 
+    public void testAddRemoveConnectorBrokerView() throws Exception {
+
+        ObjectName brokerName = assertRegisteredObjectName(domain + 
":type=Broker,brokerName=localhost");
+        BrokerViewMBean brokerView = 
MBeanServerInvocationHandler.newProxyInstance(mbeanServer, brokerName, 
BrokerViewMBean.class, true);
+
+        Map connectors = brokerView.getTransportConnectors();
+        LOG.info("Connectors: " + connectors);
+        assertEquals("one connector", 1, connectors.size());
+
+        ConnectorViewMBean connector = getProxyToConnectionView("tcp");
+        assertNotNull(connector);
+
+        String name = connectors.keySet().iterator().next().toString();
+
+        brokerView.removeConnector(name);
+
+        connectors = brokerView.getTransportConnectors();
+        assertEquals("empty", 0, connectors.size());
+
+        name = brokerView.addConnector("tcp://0.0.0.0:0");
+
+        connector = getProxyToConnectionView("tcp");
+        assertNotNull(connector);
+
+        connectors = brokerView.getTransportConnectors();
+        LOG.info("Connectors: " + connectors);
+        assertEquals("one connector", 1, connectors.size());
+        assertTrue("name is in map: " + connectors.keySet(), 
connectors.keySet().contains(name));
+    }
+
     public void testConnectorView() throws Exception {
         ConnectorViewMBean connector = getProxyToConnectionView("tcp");
         assertNotNull(connector);

Reply via email to