Estoy intentando consultar una JVM remota con jps utilizando jstatd, para eventualmente monitorearlo usando VisualVM.jps no se puede conectar a un jstatd remoto
yo nos jstatd corriendo con la siguiente política de seguridad:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
jstatd se está ejecutando en una máquina Linux de 64 bits con una máquina virtual HotSpot versión 1.6.0_10. El comando jstatd es:
jstatd -J-Djava.security.policy=jstatd.tools.policy -J-Djava.rmi.server.logCalls=true
Estoy tratando de ejecutar jps desde una máquina con Windows 7. Debido a las restricciones de firewall, estoy un túnel de los datos RMI a través de un túnel SSH a mi máquina de Windows de tal manera que la línea de comandos es JPS:
.\jps.exe -m -l rmi://localhost
Cuando corro JPS, veo el intento de conexión en el registro de jstatd, el cual tiene el siguiente aspecto:
Feb 1, 2011 11:50:34 AM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(ja va.lang.String)]
pero en el lado JPS me sale el siguiente error:
Error communicating with remote host: Connection refused to host: 192.168.1.137; nested exception is:
java.net.ConnectException: Connection refused: connect
Basado en el intento de conexión que aparece en el registro de jstatd, creo que es en realidad re JPS duele el host, pero por alguna razón se bloquea. ¿Existe alguna política de seguridad que haya establecido u otra configuración en alguna parte que pueda cambiar para que pueda obtener jps para extraer las estadísticas del jstatd remoto?
Podría ser que no haya establecido las propiedades de jmxremote en la aplicación que deseo monitorear, como se describe aquí: http://stackoverflow.com/questions/726643/get-heap-dump-from-a-remote-application-in-java-using-jvisualvm – afrosteve