This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/main by this push:
new 05b1e5c9c0 feat(#1828): Expose NetworkConnector URI and local URI in
JMX MBean (#1829)
05b1e5c9c0 is described below
commit 05b1e5c9c0a824538f2e7fd24782d96dfc4ffa17
Author: JB Onofré <[email protected]>
AuthorDate: Thu Jul 9 18:45:55 2026 +0200
feat(#1828): Expose NetworkConnector URI and local URI in JMX MBean (#1829)
* 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.
* fix(#1828): delegate getUri() to getRemoteURI() in
MulticastNetworkConnector
Address PR review: implement abstract getUri() by delegating to
getRemoteURI() and add a comment to clarify the relationship between
the two methods.
---
.../apache/activemq/broker/jmx/NetworkConnectorView.java | 16 ++++++++++++++++
.../activemq/broker/jmx/NetworkConnectorViewMBean.java | 4 ++++
.../activemq/network/MulticastNetworkConnector.java | 6 ++++++
.../org/apache/activemq/network/NetworkConnector.java | 2 ++
.../java/org/apache/activemq/jmx/JmxCreateNCTest.java | 2 ++
5 files changed, 30 insertions(+)
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 05e6747dd7..a1ad16f8dc 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 class NetworkConnectorView implements
NetworkConnectorViewMBean {
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 e51b9a16ca..12fc22a2d9 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 @@ import org.apache.activemq.Service;
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 ad7ac5babe..f3b581ea24 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,12 @@ public class MulticastNetworkConnector extends
NetworkConnector {
this.remoteTransport = remoteTransport;
}
+ // Satisfies the abstract getUri() contract from NetworkConnector;
delegates to getRemoteURI()
+ @Override
+ public URI getUri() {
+ return getRemoteURI();
+ }
+
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 1bbc483d5c..a51345f3d6 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 abstract class NetworkConnector extends
NetworkBridgeConfiguration implem
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 e3ef738c98..ce02acbb5d 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
@@ -80,6 +80,8 @@ public class JmxCreateNCTest {
assertNotNull(nc);
assertEquals("NC", nc.getName());
+ assertEquals("static:(tcp://localhost:61617)", nc.getUri());
+ assertNotNull(nc.getLocalUri());
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact