网上找了很多资料,折腾的大半天,结果不尽如人意,最终还是成功了,将过程写下来,与大家分享一下。
运行环境:jdk1.6.0_23+tomcat7.0+;
测试内容,远程监控tomcat下运行的应用。
步骤:
1.将CATALINA_HOME/conf下的server.xml中,加上下面一段:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener?"
rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />
2.将JAVA_HOME/jre/lib/management下jmxremote.access、jmxremote.password两个文件放到CATALINA_HOME/conf目录里面,如果没有jmxremote.password,则从JAVA_HOME/jre/lib/management/jmxremote.password.template拷贝出一个名为jmxremote.password的新文件, 修改文件内容:
$CATALINA_BASE/conf/jmxremote.password containing:
admin letmein
$CATALINA_BASE/conf/jmxremote.access containing:
admin readwrite
3.在CATALINA_HOME/lib下加上catalina-jmx-remote.jar
4.修改CATALINA_HOME/bin/catalina.bat文件,在rem ----- Execute The Requested Command ---------------------------------------下添加 set JAVA_OPTS= -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access -Dcom.sun.management.jmxremote.ssl=false
5.启动tomcat,然后回到本地环境,打开jvisualvm,添加远程主机,(e.g. 1.1.2.36),然后右键添加JMX链接,输入端口:10001;输入用户名和密码,即jmxremote.password中的内容,点击确定。
官方教程:?http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener
?
?