I'm trying to remotely profile a java application which runs on the JBoss 4.2.2.GA application server that uses the 32-bit version of Java 1.7.0_03 and, furthermore, is wrapped by Tanuki service wrapper, so as it can be deployed as a Windows service. This application runs on a server with the 64-bit version of Windows Server 2012 R2.
Before trying to add a JMX connection to this applications, I've done the following actions:
- Ensured that the port 1098 is not used by another program, by issuing
netstat
. - Created an inbound rule for the port 1098 on the FW of the remote server, applicable to all types of networks.
- Set the following parameters in the wrapper.conf file of the Tanuki wrapper in the remote server:
wrapper.java.additional.3=-Dcom.sun.management.jmxremote
wrapper.java.additional.4=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.5=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.6=-Dcom.sun.management.jmxremote.port=1098
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.rmi.port=1098
wrapper.java.additional.8=-Djava.rmi.server.hostname=xx.yyy.zzz.www
Tanuki wrapper starts a JVM with the above parameters.
- Created an outbound rule for visualVM in the FW of my personal PC (Windows 7 Professional, 64-bit). I doubt the necessity of this step, but the connection is not established even without this rule.
Then, I've unsuccessfully tried to add a JMX connection to xxx.yyy.zzz.www:1098
(I also ticked the "Do not require SSL connection" option). EDIT: I'm waiting for the connection to be established for hours, but it seems to hang during the process.
What could be done wrong here?