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

et_et 发布于 2018-11-18 c3p0 最后更新 2018-11-18 11:46 66 浏览

Web应用程序是一个Struts应用程序(不是弹簧),它使用带有Hibernate的c3p0,它在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 = FALSE 当我使用jconsole连接到它时,我看不到标签中的c3p0 MBean。 在Tomcat或Web应用程序中需要做什么配置? 谢谢!

已邀请:

ysit

赞同来自:

当你不使用Spring或JBoss时,在JMX监控Hibernate时,事情就更容易掌握了。 您需要执行以下操作:

  • 在您的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);