diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorView.java b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorView.java index 05e6747dd7e..a1ad16f8dc0 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorView.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorView.java @@ -16,6 +16,8 @@ */ package org.apache.activemq.broker.jmx; +import java.net.URISyntaxException; + import org.apache.activemq.network.NetworkConnector; public class NetworkConnectorView implements NetworkConnectorViewMBean { @@ -37,6 +39,20 @@ public void stop() throws Exception { connector.stop(); } + @Override + public String getUri() { + return connector.getUri() != null ? connector.getUri().toString() : ""; + } + + @Override + public String getLocalUri() { + try { + return connector.getLocalUri() != null ? connector.getLocalUri().toString() : ""; + } catch (URISyntaxException e) { + return ""; + } + } + @Override public String getName() { return connector.getName(); diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorViewMBean.java b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorViewMBean.java index e51b9a16caf..12fc22a2d95 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorViewMBean.java +++ b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorViewMBean.java @@ -20,6 +20,10 @@ public interface NetworkConnectorViewMBean extends Service { + String getUri(); + + String getLocalUri(); + String getName(); int getMessageTTL(); diff --git a/activemq-broker/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java b/activemq-broker/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java index ad7ac5babe4..d128f277c73 100644 --- a/activemq-broker/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java +++ b/activemq-broker/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java @@ -77,6 +77,11 @@ public void setRemoteTransport(Transport remoteTransport) { this.remoteTransport = remoteTransport; } + @Override + public URI getUri() { + return remoteURI; + } + public URI getRemoteURI() { return remoteURI; } 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 1bbc483d5c5..a51345f3d6c 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 @@ -77,6 +77,8 @@ public NetworkConnector(URI localURI) { this.localURI = localURI; } + public abstract URI getUri(); + public URI getLocalUri() throws URISyntaxException { return localURI; } diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxCreateNCTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxCreateNCTest.java index 1d878b4f14f..447e9aae0a3 100644 --- a/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxCreateNCTest.java +++ b/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxCreateNCTest.java @@ -66,5 +66,7 @@ public void testBridgeRegistration() throws Exception { assertNotNull(nc); assertEquals("NC", nc.getName()); + assertEquals("static:(tcp://localhost:61617)", nc.getUri()); + assertNotNull(nc.getLocalUri()); } }