2011-09-15 90 views
3

我怎么连接到的ActiveMQ OpenWire连接器的名单? JConsole的是能够列出的联系,但我没有看到哪个“的观点:”我可以用它来获取列表:ActiveMQ:通过JMX获取连接列表?

连接的实例对象名: org.apache.activemq:BrokerName =本地主机,类型=连接,连接器名称= openwire,连接= TOTO

我试过“ConnectorViewMBean”,但它的操作不允许我列出的连接:

ObjectName name = new ObjectName("org.apache.activemq:BrokerName=localhost,Type=Connection,ConnectorName=openwire"); 
mbsc.getMBeanInfo(name); 
ConnectorViewMBean view = JMX.newMBeanProxy(mbsc, name, ConnectorViewMBean.class); 

回答

3

的解决方案是一种表达的用法:

ObjectName connectionNames = 
     new ObjectName("org.apache.activemq:BrokerName=localhost," + 
        "Type=Connection,ConnectorName=openwire,Connection=*"); 

Set<ObjectName> names = mbsc.queryNames(connectionNames, null); 
for(ObjectName name : names) { 
    logger.error("Name: "+name.getCanonicalName()); 
} 
+0

谁能告诉我如何以正确格式的代码? Shift + Enter创建一个新的块代码,请输入太...... – AndrewBourgeois

+1

看到http://stackoverflow.com/editing-help或使用工具栏按钮编辑器 –

+0

这个答案是对的ActiveMQ 5.7.0之前是正确的。 ObjectName的格式在ActiveMQ 5.8.0中更改,如[5.8.0发行说明](http://activemq.apache.org/activemq-580-release.html)中所述。 – Tim