5

Web App 是一个使用 c3p0 和 Hibernate 的 Struts 应用程序(没有 spring),它位于 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 应用程序中进行任何配置吗?

谢谢!

4

1 回答 1

2

当您不使用 Spring 或 JBoss 时,当涉及到 Hibernate 的 JMX 监控时,事情就会多一些。

您需要执行以下操作:

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

    <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);

于 2011-09-12T10:53:50.447 回答