Skip to content

Commit 1b25c26

Browse files
committed
feat(#1828): Expose NetworkConnector URI and local URI in JMX MBean
Add getUri() and getLocalUri() attributes to NetworkConnectorViewMBean so that the network connector URI is visible via JMX. Add abstract getUri() to NetworkConnector base class and implement it in MulticastNetworkConnector.
1 parent 4362c5a commit 1b25c26

File tree

5 files changed

+29
-0
lines changed

5 files changed

+29
-0
lines changed

activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorView.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
package org.apache.activemq.broker.jmx;
1818

19+
import java.net.URISyntaxException;
20+
1921
import org.apache.activemq.network.NetworkConnector;
2022

2123
public class NetworkConnectorView implements NetworkConnectorViewMBean {
@@ -37,6 +39,20 @@ public void stop() throws Exception {
3739
connector.stop();
3840
}
3941

42+
@Override
43+
public String getUri() {
44+
return connector.getUri() != null ? connector.getUri().toString() : "";
45+
}
46+
47+
@Override
48+
public String getLocalUri() {
49+
try {
50+
return connector.getLocalUri() != null ? connector.getLocalUri().toString() : "";
51+
} catch (URISyntaxException e) {
52+
return "";
53+
}
54+
}
55+
4056
@Override
4157
public String getName() {
4258
return connector.getName();

activemq-broker/src/main/java/org/apache/activemq/broker/jmx/NetworkConnectorViewMBean.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020

2121
public interface NetworkConnectorViewMBean extends Service {
2222

23+
String getUri();
24+
25+
String getLocalUri();
26+
2327
String getName();
2428

2529
int getMessageTTL();

activemq-broker/src/main/java/org/apache/activemq/network/MulticastNetworkConnector.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@ public void setRemoteTransport(Transport remoteTransport) {
7777
this.remoteTransport = remoteTransport;
7878
}
7979

80+
@Override
81+
public URI getUri() {
82+
return remoteURI;
83+
}
84+
8085
public URI getRemoteURI() {
8186
return remoteURI;
8287
}

activemq-broker/src/main/java/org/apache/activemq/network/NetworkConnector.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ public NetworkConnector(URI localURI) {
7777
this.localURI = localURI;
7878
}
7979

80+
public abstract URI getUri();
81+
8082
public URI getLocalUri() throws URISyntaxException {
8183
return localURI;
8284
}

activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxCreateNCTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,7 @@ public void testBridgeRegistration() throws Exception {
6666

6767
assertNotNull(nc);
6868
assertEquals("NC", nc.getName());
69+
assertEquals("static:(tcp://localhost:61617)", nc.getUri());
70+
assertNotNull(nc.getLocalUri());
6971
}
7072
}

0 commit comments

Comments
 (0)