2011-09-23 31 views
18

Estoy seguro de que puedo resolverlo si puedo ver los parámetros de JAVA OPTS. Quiero monitorear un servidor hornetq usando Jconsole, así que necesito el número de puerto.¿Cómo encontrar el puerto JMX en un servidor?

Recuerdo haber usado algún comando como java grep, etc. cuando me conecté a él hace un tiempo.

+0

No vi ninguna pregunta hornetq. JNDI/JMX no es parte del código fuente de hornetq, es parte de jboss, así que lo retuve como JBoss. –

Respuesta

25

Si conoce el número de proceso se puede utilizar para encontrar lo netstat puertos del programa está a la escucha con algo como

$ netstat -apn | grep <proc num> 

El puerto convencional para los oyentes JMX es 1099.

1

Puede programmatically access the JVM arguments like so:

import java.lang.management.ManagementFactory; 
import java.lang.management.RuntimeMXBean; 
...  
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean(); 
List<String> arguments = RuntimemxBean.getInputArguments(); 
3

también puede configurar manualmente el puerto de la configuración de comandos de JVM, por ejemplo:

-Dcom.sun.management.jmxremote=true 
-Dcom.sun.management.jmxremote.port=1616 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
12

Sé que es una publicación anterior. También puede obtener los detalles del sistema:

String jmx1 = System.getProperty("com.sun.management.jmxremote"); 
String jmx2 = System.getProperty("com.sun.management.jmxremote.port"); 
String jmx3 = System.getProperty("com.sun.management.jmxremote.authenticate"); 
String jmx4 = System.getProperty("com.sun.management.jmxremote.ssl"); 
String jmx5 = System.getProperty("java.rmi.server.hostname"); 
Cuestiones relacionadas