You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2026/07/09 16:46:00 UTC

(activemq) branch main updated: feat(#1828): Expose NetworkConnector URI and local URI in JMX MBean (#1829)

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é <jb...@apache.org>
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: commits-unsubscribe@activemq.apache.org
For additional commands, e-mail: commits-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact