2017-08-11 2 views
0

Ich verwende eine neue ActiveMQ 5.10.0-Installation, wo ich eine Nachricht in einer Warteschlange namens "testing" habe. Ich ersetzte auch die ACTIVEMQ_SUNJMX Linie in bin/activemq JMX zu aktivieren:Zugriff auf Apache ActiveMQ über JMX löst Exception Broker nicht aus 5.10

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 

JMXServiceURL url1 = new 
JMXServiceURL("service:jmx:rmi:///jndi/rmi://10.222.222.222:1099/jmxrmi"); 
    JMXConnector jmxc = JMXConnectorFactory.connect(url1); 
    MBeanServerConnection conn = jmxc.getMBeanServerConnection(); 
    ObjectName activeMQ = new 
ObjectName("org.apache.activemq:type=Broker,BrokerName=TOM"); 

    System.out.println(newProxyInstance(conn, activeMQ, BrokerViewMBean.class, true).toString()); 
    Set<ObjectName> brokers = conn.queryNames(activeMQ, null); 
         if (brokers.size() == 0) { 
            throw new IOException("No broker could be found in the JMX."); 
         } 

die Ausnahme ausgelöst wird

Exception in thread "main" java.io.IOException: No broker could be found in 
the JMX. 

Ähnlich Accessing Apache ActiveMQ via JMX throws Exception aber nicht helfen. Irgendwelche Ideen?

Antwort

1

Sie müssen eine Verbindung zu activemq's jmx herstellen. Geben Sie in CLI jconsole ein, oder wechseln Sie zu Ihrem JDK-Klassenpfad, und führen Sie jconsole über die Befehlszeile aus. enter image description here Sie werden diese Schnittstelle sehen. Verbinde dich mit deiner jmx. enter image description here Gehen Sie genau hin und schauen Sie sich Ihr Objekt an. Kopieren Sie genau in Ihren Objektnamen. Irgendein! Unterschied und Sie werden Ihren Broker nicht bekommen.

+0

So konnte ich org.apache.activemq: type = Broker, Broker = TOM, Stecker = clientC onnectors, Connector = Openwire für den Verbraucher? – Sein3i8

Verwandte Themen