用于监视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/