Монитор c3p0 (в спящем режиме и Tomcat) с помощью JConsole - PullRequest
5 голосов
/ 15 июня 2011

Веб-приложение - это приложение Struts (без пружины), использующее c3p0 с Hibernate, и оно находится в Tomcat 6. И jiber-файлы Hibernate, и c3p0 находятся в папке {WEB_APP} / WEB-INF / lib.

ВTomcat JMX Remote включен: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8888 -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate =false

Когда я использую jconsole для подключения к нему, я не вижу MBean c3p0 на вкладке.

Есть ли какая-либо конфигурация, которую мне нужно сделать в Tomcat или веб-приложении?

Спасибо!

1 Ответ

2 голосов
/ 12 сентября 2011

Когда вы не используете Spring или JBoss, тогда дело доходит до того, что касается мониторинга JMX Hibernate.

Вам необходимо сделать следующее:

  • В вашей конфигурации Hibernate добавьте:

    <property name="hibernate.generate_statistics">true</property>
    
  • Затем в сегменте запуска вашего приложения вам необходимо зарегистрировать MBeans на сервере 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);

...