用于监视Hibernate缓存使用情况的工具

时间:2009-12-03 11:18:24

标签: java hibernate orm caching monitoring

是否有任何工具可以监控Hibernate二级缓存的使用?我知道我可以使用Hibernate API来检索这些信息。但是当我的应用程序没有读取信息本身时,我该怎么办?我无法修改它?有没有办法从应用程序外部读取缓存统计信息?

4 个答案:

答案 0 :(得分:7)

引用休眠documentation

  

3.4.6。 Hibernate统计

     

如果启用   hibernate.generate_statistics,   Hibernate公开了许多指标   在调整运行时很有用   系统通过   SessionFactory.getStatistics()。   Hibernate甚至可以配置为   通过JMX公开这些统计信息。读   接口的Javadoc   org.hibernate.stats了解更多信息   信息。

您会找到org.hibernate.stats package-summary here

对于JMX部分,请查看Publishing statistics through JMX

对于更高级的内容,您必须依赖缓存提供程序的特定功能。

答案 1 :(得分:3)

如果您的二级缓存是EhCache,那么您可以从其MBean读取缓存状态。

请参阅ehcache文档中的“JMX管理和监控”:http://ehcache.org/documentation/jmx.html

答案 2 :(得分:3)

有一个用于监视已通过JMX公开的hibernate缓存的工具。它叫做hibernate-jconsole,可以在这里下载 - http://hibernate-jcons.sourceforge.net/

答案 3 :(得分:1)