Bonjour,

J'essaie de profiler une application a distance a l'aide de Java Visual VM et jstatd. Entre les deux machines, il y a des parefeu et des proxys ce qui me complique pas mal la vie.

Sur la marchine distante, je lance jstatd comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
./jstatd -p 1099 -J-Djava.security.policy=/tmp/tools.policy  -J-Djava.rmi.server.logCalls=true -J-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX
ou XXX.XXX.XXX.XXX est l'adresse IP externe de la machine. J'obtiens cette erreur pendant un moment, et au bout de 5 minutes ca fonctionne !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FINE: RMI TCP Connection(2)-XXX.XXX.XXX.XXX: [XXX.XXX.XXX.XXX] exception: 
java.rmi.NotBoundException: JStatRemoteHost
        at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
D'ou cela peut-il venir?

Merci