definicion java profiling jmx jvisualvm

java - definicion - ¿Cómo encontrar el número de puerto JMX predeterminado?



java jmx port (1)

Por defecto, JMX no publica en un puerto a menos que especifique los argumentos de esta página: Cómo activar JMX ...

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false

Si está ejecutando, debería poder acceder a cualquiera de esas propiedades del sistema para ver si se han configurado:

if (System.getProperty("com.sun.management.jmxremote") == null) { System.out.println("JMX remote is disabled"); } else [ String portString = System.getProperty("com.sun.management.jmxremote.port"); if (portString != null) { System.out.println("JMX running on port " + Integer.parseInt(portString)); } }

Dependiendo de cómo esté conectado el servidor, es posible que también deba especificar el siguiente parámetro. Como parte de la conexión JMX inicial, jconsole se conecta al puerto RMI para determinar en qué puerto se está ejecutando el servidor JMX. Cuando inicia inicialmente una aplicación habilitada para JMX, busca su propio nombre de host para determinar qué dirección devolver en esa transacción inicial de RMI. Si su nombre de host no está en /etc/hosts o si está configurado en una dirección de interfaz incorrecta, puede anularlo con lo siguiente:

-Djava.rmi.server.hostname=<IP address>

Además, mi paquete SimpleJMX le permite definir tanto el servidor JMX como el puerto RMI o establecerlos en el mismo puerto. El puerto anterior definido con com.sun.management.jmxremote.port es en realidad el puerto RMI. Esto le dice al cliente en qué puerto se está ejecutando el servidor JMX.

Estoy ejecutando una aplicación Java en Java 6 VM en un Windows XP remoto, en el que puedo ejecutar jvisualvm.exe para conectarme a la aplicación en ejecución automáticamente.

Ahora necesito conectar esa aplicación desde mi computadora local, pero no sé el número de puerto JMX de la computadora remota. ¿Dónde puedo encontrarlo? O, ¿debo reiniciar esa aplicación con algunos parámetros de VM para especificar el número de puerto?

Después de leer la pregunta Cómo encontrar el puerto JMX en un servidor , ejecuté el comando en la computadora remota

netstat -apn

pero no tengo nada.