Set hibernate.generate_statistics to true (either in persistence.xml , either in hibernate.cfg.xml or in your factory bean configuration). Then register this bean:
<bean id="hibernateStatisticsMBean" class="org.hibernate.jmx.StatisticsService"> <property name="statisticsEnabled" value="true" /> <property name="sessionFactory" value="#{entityManagerFactory.sessionFactory}" /> </bean>
(If you are not using JPA, just specify your sessionFactory bean instead of going through EMF)
And finally, you need a mbean server and exporter:
<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"> <property name="locateExistingServerIfPossible" value="true" /> </bean> <bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> <property name="server" ref="mbeanServer" /> <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/> <property name="beans"> <map> <entry key="yourkey:name=hibernateStatistics" value-ref="hibernateStatisticsMBean" /> </map> </property> </bean>
Bozho source share