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

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

引用Hibernate 文档 :

3.4.6。 Hibernate统计

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

你会在这里找到org.hibernate.stats包 – 摘要。

对于JMX部分,请查看通过JMX发布统计信息 。

对于更高级的东西,您必须依赖缓存提供程序的特定function。

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

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

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