Вот мой код, чтобы получить информацию через jmx, из этого кода я могу получить некоторую информацию об ActiveMQ, такую как имя очереди, количество потребителей, но я не знаю, как получить список потребителей одной очереди и получить "селектор" потребителя в изображении?
"селектор" изображение
package controller;
import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import org.apache.activemq.broker.jmx.BrokerViewMBean;
import org.apache.activemq.broker.jmx.QueueViewMBean;
public class Monitor {
public static void main(String[] args) throws Exception {
String url = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi";
JMXServiceURL urls = new JMXServiceURL(url);
JMXConnector connector = JMXConnectorFactory.connect(urls);
connector.connect();
MBeanServerConnection mbsc = connector.getMBeanServerConnection();
ObjectName objectName = new ObjectName("org.apache.activemq:brokerName=localhost,type=Broker");
BrokerViewMBean mBean = MBeanServerInvocationHandler.newProxyInstance(mbsc, objectName, BrokerViewMBean.class, true);
for (ObjectName queueName : mBean.getQueues()) {
QueueViewMBean queueMBean = MBeanServerInvocationHandler.newProxyInstance(mbsc, queueName, QueueViewMBean.class, true);
// queue name
System.out.println("Queue Name:" + queueMBean.getName());
// consumer count
System.out.println("Number of Consumers:" + queueMBean.getConsumerCount());
}
}
}