2011-06-15 77 views
5

Web應用程序是一個Struts應用程序(不是spring),它使用c3p0和Hibernate,並且它在Tomcat 6中.Hibernate和c3p0 jar都位於{WEB_APP}/WEB-INF/lib文件夾。使用JConsole監控c3p0(使用hibernate和Tomcat)

Tomcat中的遠程JMX啓用: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8888 -Dcom.sun.management.jmxremote.ssl =假 -Dcom .sun.management.jmxremote.authenticate =假

當我使用JConsole的連接到它,我沒有看到C3P0的MBean的標籤。

是否有任何配置,我需要在Tomcat或web應用程序呢?

謝謝!

+1

你能解決這個問題嗎?我們在這裏面臨同樣的問題。 – 2011-07-06 10:23:30

回答

2

當您不使用Spring和JBoss的那麼事情是當它涉及到的Hibernate的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);