Sto provando a interrogare una JVM remota con jps usando jstatd, per poter eventualmente monitorarla usando VisualVM.jps non può connettersi a un jstatd remoto
ho preso jstatd in esecuzione con il seguente criterio di protezione:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
jstatd è in esecuzione su una macchina Linux a 64-bit con un HotSpot VM 1.6.0_10 versione. Il comando jstatd è:
jstatd -J-Djava.security.policy=jstatd.tools.policy -J-Djava.rmi.server.logCalls=true
Sto cercando di eseguire jps da una macchina Windows 7. A causa di restrizioni del firewall, sto tunneling dei dati RMI attraverso un tunnel SSH alla mia macchina Windows in modo tale che la riga di comando JPS è:
.\jps.exe -m -l rmi://localhost
Quando eseguo jps, vedo il tentativo di connessione nel registro jstatd, che assomiglia a questo:
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)]
ma sul lato jps ottengo il seguente errore:
Error communicating with remote host: Connection refused to host: 192.168.1.137; nested exception is:
java.net.ConnectException: Connection refused: connect
sulla base del tentativo di connessione elencato nel registro jstatd, penso jps è in realtà ri dolorante l'host, ma per qualche motivo si sta bloccando. C'è qualche criterio di sicurezza che ho impostato o qualche altra impostazione da qualche parte che posso cambiare in modo che possa ottenere jps per estrarre statistiche dal jstatd remoto?
Potrebbe essere che non ho impostato le proprietà jmxremote nell'applicazione che voglio monitorare, come descritto qui: http://stackoverflow.com/questions/726.643/get-heap-dump-da-un-remote-application-in-java-con-jvisualvm – afrosteve