This is an automated email from the ASF dual-hosted git repository.

mattrpav pushed a commit to branch activemq-5.19.x
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/activemq-5.19.x by this push:
     new 13360632df [AMQ-9815] Add additional attributes to ConnectorView 
(#1556)
13360632df is described below

commit 13360632df6e55c422e21c14fcc7cada0b1abf46
Author: Matt Pavlovich <[email protected]>
AuthorDate: Tue Jan 13 08:46:13 2026 -0600

    [AMQ-9815] Add additional attributes to ConnectorView (#1556)
    
    (cherry picked from commit 2790ac25c9dd1c659cd08d660ceb1f5aeb51659b)
---
 .../java/org/apache/activemq/broker/Connector.java | 29 +++++++-
 .../apache/activemq/broker/TransportConnector.java | 14 ++++
 .../apache/activemq/broker/jmx/ConnectorView.java  | 79 ++++++++++++++++++++++
 .../activemq/broker/jmx/ConnectorViewMBean.java    | 44 ++++++++++++
 4 files changed, 164 insertions(+), 2 deletions(-)

diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/Connector.java 
b/activemq-broker/src/main/java/org/apache/activemq/broker/Connector.java
index 314a092571..b099706a3d 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/Connector.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/Connector.java
@@ -20,6 +20,10 @@ import org.apache.activemq.Service;
 import org.apache.activemq.broker.region.ConnectorStatistics;
 import org.apache.activemq.command.BrokerInfo;
 
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
 /**
  * A connector creates and manages client connections that talk to the Broker.
  * 
@@ -62,18 +66,20 @@ public interface Connector extends Service {
      * @return true if clients should be updated when
      * a broker is removed from a broker
      */
-    public boolean  isUpdateClusterClientsOnRemove();
+    public boolean isUpdateClusterClientsOnRemove();
 
+    @Deprecated(forRemoval = true)
     int connectionCount();
 
     /**
      * If enabled, older connections with the same clientID are stopped
+     *
      * @return true/false if link stealing is enabled
      */
     boolean isAllowLinkStealing();
 
     /**
-     * @return The comma separated string of regex patterns to match 
+     * @return The comma separated string of regex patterns to match
      * broker names for cluster client updates
      */
     String getUpdateClusterFilter();
@@ -86,4 +92,23 @@ public interface Connector extends Service {
      * @return true if connector is started
      */
     public boolean isStarted();
+
+    public URI getConnectUri() throws IOException, URISyntaxException;
+
+    public URI getPublishableConnectURI() throws Exception;
+
+    public boolean isEnableStatusMonitor();
+
+    public URI getUri();
+
+    public URI getDiscoveryUri();
+
+    public boolean isAuditNetworkProducers();
+
+    public int getMaximumProducersAllowedPerConnection();
+
+    public int getMaximumConsumersAllowedPerConnection();
+
+    public int getConnectionCount();
+
 }
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
index 8cc6ee8869..ed0439075c 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/TransportConnector.java
@@ -156,6 +156,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.server = server;
     }
 
+    @Override
     public URI getUri() {
         if (uri == null) {
             try {
@@ -301,6 +302,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         return publishableConnectString;
     }
 
+    @Override
     public URI getPublishableConnectURI() throws Exception {
         return publishedAddressPolicy.getPublishableConnectURI(this);
     }
@@ -375,6 +377,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.discoveryAgent = discoveryAgent;
     }
 
+    @Override
     public URI getDiscoveryUri() {
         return discoveryUri;
     }
@@ -383,6 +386,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.discoveryUri = discoveryUri;
     }
 
+    @Override
     public URI getConnectUri() throws IOException, URISyntaxException {
         if (server != null) {
             return server.getConnectURI();
@@ -519,6 +523,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
     /**
      * @return the enableStatusMonitor
      */
+    @Override
     public boolean isEnableStatusMonitor() {
         return enableStatusMonitor;
     }
@@ -610,6 +615,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.updateClusterFilter = updateClusterFilter;
     }
 
+    @Deprecated(forRemoval = true)
     @Override
     public int connectionCount() {
         return connections.size();
@@ -624,6 +630,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.allowLinkStealing = allowLinkStealing;
     }
 
+    @Override
     public boolean isAuditNetworkProducers() {
         return auditNetworkProducers;
     }
@@ -637,6 +644,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.auditNetworkProducers = auditNetworkProducers;
     }
 
+    @Override
     public int getMaximumProducersAllowedPerConnection() {
         return maximumProducersAllowedPerConnection;
     }
@@ -645,6 +653,7 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
         this.maximumProducersAllowedPerConnection = 
maximumProducersAllowedPerConnection;
     }
 
+    @Override
     public int getMaximumConsumersAllowedPerConnection() {
         return maximumConsumersAllowedPerConnection;
     }
@@ -707,4 +716,9 @@ public class TransportConnector implements Connector, 
BrokerServiceAware {
     public boolean isAutoStart() {
         return autoStart;
     }
+
+    @Override
+    public int getConnectionCount() {
+        return connections.size();
+    }
 }
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorView.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorView.java
index 4493e06a96..dc5e184509 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorView.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorView.java
@@ -19,6 +19,8 @@ package org.apache.activemq.broker.jmx;
 import org.apache.activemq.broker.Connector;
 import org.apache.activemq.command.BrokerInfo;
 
+import java.net.URI;
+
 public class ConnectorView implements ConnectorViewMBean {
 
     private final Connector connector;
@@ -32,6 +34,7 @@ public class ConnectorView implements ConnectorViewMBean {
         connector.start();
     }
 
+    @Override
     public String getBrokerName() {
         return getBrokerInfo().getBrokerName();
     }
@@ -151,4 +154,80 @@ public class ConnectorView implements ConnectorViewMBean {
     public boolean isStarted() {
         return this.connector.isStarted();
     }
+
+    @Override
+    public String getConnectURI() {
+        URI tmpConnectUri = null;
+        try {
+            tmpConnectUri = this.connector.getConnectUri();
+        } catch (Exception e) {}
+        return (tmpConnectUri != null ? tmpConnectUri.toString() : null);
+    }
+
+    @Override
+    public String getPublishableConnectURI() {
+        URI publishableConnectURI = null;
+        try {
+            publishableConnectURI = this.connector.getPublishableConnectURI();
+        } catch (Exception e) {}
+
+        return (publishableConnectURI != null ? 
publishableConnectURI.toString() : null);
+    }
+
+    @Override
+    public String getBrokerInfoString() {
+        return getBrokerInfo().toString();
+    }
+
+    /**
+     * Returns true the status monitor is enabled
+     *
+     * @return true if status monitor is enabled
+     */
+    @Override
+    public boolean isEnableStatusMonitor() {
+        return this.connector.isEnableStatusMonitor();
+    }
+
+    @Override
+    public String getURI() {
+        URI tmpURI = this.connector.getUri();
+        return (tmpURI != null ? tmpURI.toString() : null);
+    }
+
+    @Override
+    public String getDiscoveryURI() {
+        URI tmpDiscoveryURI = this.connector.getDiscoveryUri();
+        return (tmpDiscoveryURI != null ? tmpDiscoveryURI.toString() : null);
+    }
+
+    @Override
+    public boolean isAuditNetworkProducers() {
+        return this.connector.isAuditNetworkProducers();
+    }
+
+    /**
+     * Returns the number of maximum producers allowed per-connection
+     */
+    @Override
+    public int getMaximumProducersAllowedPerConnection() {
+        return this.connector.getMaximumProducersAllowedPerConnection();
+    }
+
+    /**
+     * Returns the number of maximum consumers allowed per-connection
+     */
+    @Override
+    public int getMaximumConsumersAllowedPerConnection() {
+        return this.connector.getMaximumConsumersAllowedPerConnection();
+    }
+
+    /**
+     * Returns the number of current connections
+     */
+    @Override
+    public int getConnectionCount() {
+        return this.connector.connectionCount();
+    }
+
 }
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorViewMBean.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorViewMBean.java
index e089447c56..8d3ff5ec55 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorViewMBean.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/jmx/ConnectorViewMBean.java
@@ -18,8 +18,13 @@ package org.apache.activemq.broker.jmx;
 
 import org.apache.activemq.Service;
 
+import java.net.URI;
+
 public interface ConnectorViewMBean extends Service {
 
+    // [AMQ-9815] Non-getter makes this a JMX operation v attribute
+    // TODO: Remove for 7.0
+    @Deprecated(forRemoval = true)
     @MBeanInfo("Connection count")
     int connectionCount();
 
@@ -101,4 +106,43 @@ public interface ConnectorViewMBean extends Service {
      */
     @MBeanInfo("Connector started")
     boolean isStarted();
+
+    /**
+     * @return The direct connect uri
+     */
+    @MBeanInfo("Direct connect uri")
+    public String getConnectURI();
+
+    /**
+     * @return The publishable connect uri
+     */
+    @MBeanInfo("Publishable connect uri")
+    public String getPublishableConnectURI();
+
+    @MBeanInfo("Broker name")
+    public String getBrokerName();
+
+    @MBeanInfo("String of the BrokerInfo data")
+    public String getBrokerInfoString();
+
+    @MBeanInfo("StatusMonitor enabled")
+    public boolean isEnableStatusMonitor();
+
+    @MBeanInfo("Connector URI")
+    public String getURI();
+
+    @MBeanInfo("DiscoveryURI")
+    public String getDiscoveryURI();
+
+    @MBeanInfo("AuditNetworkProducers enabled")
+    public boolean isAuditNetworkProducers();
+
+    @MBeanInfo("Maximum number of producers allowed per-connection")
+    public int getMaximumProducersAllowedPerConnection();
+
+    @MBeanInfo("Maximum number of consumers allowed per-connection")
+    public int getMaximumConsumersAllowedPerConnection();
+
+    @MBeanInfo("Connection count")
+    public int getConnectionCount();
 }


---------------------------------------------------------------------
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