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


Reply via email to