This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch activemq-6.1.x
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/activemq-6.1.x by this push:
new d9d321e8a7 [AMQ-9768] Fix JMX value escaping in web console. (#1487)
d9d321e8a7 is described below
commit d9d321e8a7611a82b111a13b3195932107a88b2c
Author: Albertas Vyšniauskas <[email protected]>
AuthorDate: Thu Sep 25 09:07:59 2025 +0300
[AMQ-9768] Fix JMX value escaping in web console. (#1487)
(cherry picked from commit f68fff981b5a7b62a68b8c2f4ef01c73cf2d3404)
---
.../apache/activemq/web/BrokerFacadeSupport.java | 30 +++++++++++-----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git
a/activemq-web/src/main/java/org/apache/activemq/web/BrokerFacadeSupport.java
b/activemq-web/src/main/java/org/apache/activemq/web/BrokerFacadeSupport.java
index 5f8d7df610..ee090a2907 100644
---
a/activemq-web/src/main/java/org/apache/activemq/web/BrokerFacadeSupport.java
+++
b/activemq-web/src/main/java/org/apache/activemq/web/BrokerFacadeSupport.java
@@ -42,8 +42,8 @@ import org.apache.activemq.broker.jmx.ProducerViewMBean;
import org.apache.activemq.broker.jmx.QueueViewMBean;
import org.apache.activemq.broker.jmx.SubscriptionViewMBean;
import org.apache.activemq.broker.jmx.TopicViewMBean;
+import org.apache.activemq.util.JMXSupport;
import org.apache.activemq.web.util.ExceptionUtils;
-import org.springframework.util.StringUtils;
/**
* A useful base class for an implementation of {@link BrokerFacade}
@@ -78,7 +78,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@Override
public Collection<SubscriptionViewMBean> getTopicSubscribers(String
topicName) throws Exception {
String brokerName = getBrokerName();
- topicName = StringUtils.replace(topicName, "\"", "_");
+ topicName = JMXSupport.encodeObjectNamePart(topicName);
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",destinationType=Topic,destinationName=" + topicName +
",endpoint=Consumer,*");
Set<ObjectName> queryResult = queryNames(query, null);
@@ -171,20 +171,22 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@SuppressWarnings("unchecked")
public Collection<String> getConnections(String connectorName) throws
Exception {
String brokerName = getBrokerName();
+ connectorName = JMXSupport.encodeObjectNamePart(connectorName);
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
- + ",connector=clientConnectors,connectorName=" + connectorName +
",connectionViewType=clientId" + ",connectionName=*"); Set<ObjectName>
queryResult = queryNames(query, null);
+ + ",connector=clientConnectors,connectorName=" + connectorName +
",connectionViewType=clientId,connectionName=*");
+ Set<ObjectName> queryResult = queryNames(query, null);
+ Collection<ConnectionViewMBean> connections =
getManagedObjects(queryResult.toArray(new ObjectName[queryResult.size()]),
+ ConnectionViewMBean.class);
Collection<String> result = new ArrayList<String>(queryResult.size());
- for (ObjectName on : queryResult) {
- String name =
StringUtils.replace(on.getKeyProperty("connectionName"), "_", ":");
- result.add(name);
- }
+ for (ConnectionViewMBean connection : connections)
+ result.add(connection.getClientId());
return result;
}
@Override
@SuppressWarnings("unchecked")
public ConnectionViewMBean getConnection(String connectionName) throws
Exception {
- connectionName = StringUtils.replace(connectionName, ":", "_");
+ connectionName = JMXSupport.encodeObjectNamePart(connectionName);
String brokerName = getBrokerName();
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",connector=clientConnectors,*,connectionName=" +
connectionName);
@@ -211,6 +213,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@Override
public ConnectorViewMBean getConnector(String name) throws Exception {
String brokerName = getBrokerName();
+ name = JMXSupport.encodeObjectNamePart(name);
ObjectName objectName = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",connector=clientConnectors,connectorName=" + name);
return (ConnectorViewMBean) newProxyInstance(objectName,
ConnectorViewMBean.class, true);
@@ -239,8 +242,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@SuppressWarnings("unchecked")
public Collection<SubscriptionViewMBean> getQueueConsumers(String
queueName) throws Exception {
String brokerName = getBrokerName();
- queueName = StringUtils.replace(queueName, "\"", "_");
- queueName = StringUtils.replace(queueName, ":", "_");
+ queueName = JMXSupport.encodeObjectNamePart(queueName);
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",destinationType=Queue,destinationName=" + queueName +
",endpoint=Consumer,*");
Set<ObjectName> queryResult = queryNames(query, null);
@@ -251,8 +253,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@SuppressWarnings("unchecked")
public Collection<ProducerViewMBean> getQueueProducers(String queueName)
throws Exception {
String brokerName = getBrokerName();
- queueName = StringUtils.replace(queueName, "\"", "_");
- queueName = StringUtils.replace(queueName, ":", "_");
+ queueName = JMXSupport.encodeObjectNamePart(queueName);
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",destinationType=Queue,destinationName=" + queueName +
",endpoint=Producer,*");
Set<ObjectName> queryResult = queryNames(query, null);
@@ -263,8 +264,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@SuppressWarnings("unchecked")
public Collection<ProducerViewMBean> getTopicProducers(String topicName)
throws Exception {
String brokerName = getBrokerName();
- topicName = StringUtils.replace(topicName, "\"", "_");
- topicName = StringUtils.replace(topicName, ":", "_");
+ topicName = JMXSupport.encodeObjectNamePart(topicName);
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",destinationType=Topic,destinationName=" + topicName +
",endpoint=Producer,*");
Set<ObjectName> queryResult = queryNames(query, null);
@@ -274,7 +274,7 @@ public abstract class BrokerFacadeSupport implements
BrokerFacade {
@Override
@SuppressWarnings("unchecked")
public Collection<SubscriptionViewMBean> getConsumersOnConnection(String
connectionName) throws Exception {
- connectionName = StringUtils.replace(connectionName, ":", "_");
+ connectionName = JMXSupport.encodeObjectNamePart(connectionName);
String brokerName = getBrokerName();
ObjectName query = new
ObjectName("org.apache.activemq:type=Broker,brokerName=" + brokerName
+ ",*,endpoint=Consumer,clientId=" + connectionName);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact