2011-09-15 85 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