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