使用JConsole监视c3p0(带有hibernate和Tomcat)

时间:2011-06-15 13:25:08

标签: hibernate tomcat jmx c3p0 jconsole

Web App是一个使用c3p0和Hibernate的Struts应用程序(没有弹簧),它位于Tomcat 6中.Hibernate和c3p0 jar都在{WEB_APP} / WEB-INF / lib文件夹中。

在Tomcat中启用了jmx遥控器: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8888 -Dcom.sun.management.jmxremote.ssl = FALSE -Dcom.sun.management.jmxremote.authenticate =假

当我使用连接到它的jconsole时,我没有在选项卡中看到c3p0 MBean。

我是否需要在Tomcat或Web应用程序中进行任何配置?

谢谢!

1 个答案:

答案 0 :(得分:2)

当你不使用Spring或JBoss时,在JMX监视Hibernate方面,事情就更容易掌握了。

您需要执行以下操作:

  • 在您的休眠配置中添加:

    <property name="hibernate.generate_statistics">true</property>
    
  • 然后在您的应用的启动段中,您需要向MBean服务器注册MBean:

    MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); ObjectName objectName = new ObjectName("org.hibernate:type=statistics"); StatisticsService mBean = new StatisticsService(); mBean.setStatisticsEnabled(true); mBean.setSessionFactory(sessionFactory); mbeanServer.registerMBean(mBean, objectName);