2016-09-27 8 views
0

Ich habe ein Add-on in meiner app, die auf Heroku in einem privaten Raum gehostet wird. Die Add-on ist ein JMX_URL in dem Config Vars auszusetzen. Ich möchte meine eigene Gesundheit Metriken Seite erstellen, die auf die JMX der Add-on, das Lesen von Eigenschaften von MBeans verbinden würde und setzen sie. JMX_URL hat folgendes Format:auf JMX Connecting gehostet Heroku

jmx://username:[email protected]:port 

Wie richtig konstruiere ich eine gültige JMX-Service-URL und stellen Sie eine erfolgreiche Verbindung? Sollte meine App auch im gleichen privaten Raum, um das zu tun, gehostet werden? Jede Hilfe würde zu diesem Thema geschätzt werden.

Antwort

0

Ich habe es funktioniert, um eine Verbindung zum JMX des Add-Ons herzustellen, das in einem privaten Bereich ausgeführt wird, sollte man von der App aus zugreifen, die im selben privaten Bereich ausgeführt wird. auf das Zertifikat hat in der Client-App Schlüsselspeicher registriert werden SSLHandshake Fehler zu vermeiden. Hier ist der Code-Schnipsel, die eine Verbindung herstellt:

String url = "service:jmx:rmi:///jndi/rmi://[host]:[port]/jmxrmi"; 
JMXServiceURL serviceURL = new JMXServiceURL(url); 
Map env = new HashMap(); 
String[] creds = { "user", "password" }; 
env.put(JMXConnector.CREDENTIALS, creds); 
JMXConnector cc = JMXConnectorFactory.connect(serviceURL, env); 
MBeanServerConnection mbsc = cc.getMBeanServerConnection(); 
Verwandte Themen