监控c3p0的连接情况

Step1: 配置Tomcat支持JMX

$CATALINA_HOME/bin中找到catalina.sh或者catalina.bat文件,在该文件中添加jmx的配置

catalina.bat为例:

1
2
3
4
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote  
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.port=9999
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.ssl=false

表示jmx开放端口是9999

配置完以后重启tomcat服务。

Step2:使用Jconsole监控

编写脚本monitor.bat

内容是

1
jconsole -J-Djava.class.path=%JAVA_HOME%/lib/jconsole.jar;%JAVA_HOME%/lib/tools.jar;c3p0-0.9.1.jar

Step3:查看结果

jconsole的对话框中输入<hostname>:<port>进入Mbean查看c3p0的信息。

如果jconsole连接不上<hostname>:<port>,而telnet可以连接上<hostname>:<port>,那么需要确认在服务器中执行hostname -i看结果是不是你使用<hostname>,如果不是的话要修改/etc/hosts内容。