我们如何配置,以便在基于 Spring MVC 的 Web 应用程序中通过 JMX 获取 Hibernate 统计信息。有没有更好的方法来跟踪 Hibernate 性能。
最佳答案
将 hibernate.generate_statistics
设置为 true
(在 persistence.xml
或 hibernate.cfg.xml
中或者在你的 session 工厂 bean 配置中)。然后注册这个bean:
<bean id="hibernateStatisticsMBean" class="org.hibernate.jmx.StatisticsService">
<property name="statisticsEnabled" value="true" />
<property name="sessionFactory" value="#{entityManagerFactory.sessionFactory}" />
</bean>
(如果您不使用 JPA,只需指定您的 sessionFactory
bean 而不是通过 EMF 获取它)
最后您需要一个 mbean 服务器和导出器:
<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>
关于java - 如何在 Spring 3.0 应用程序中配置 Hibernate 统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708602/