【发布时间】:2010-12-22 19:07:13
【问题描述】:
是否有任何工具可以监控 Hibernate 二级缓存的使用情况?我知道我可以使用 Hibernate API 来检索此类信息。但是当我的应用程序本身不读取信息并且我无法修改它时,我该怎么办?有没有办法从应用程序外部读取缓存统计信息?
【问题讨论】:
-
您的应用程序在哪个容器中运行?
标签: java hibernate orm caching monitoring
是否有任何工具可以监控 Hibernate 二级缓存的使用情况?我知道我可以使用 Hibernate API 来检索此类信息。但是当我的应用程序本身不读取信息并且我无法修改它时,我该怎么办?有没有办法从应用程序外部读取缓存统计信息?
【问题讨论】:
标签: java hibernate orm caching monitoring
引用 Hibernate documentation:
3.4.6。休眠统计
如果您启用
hibernate.generate_statistics, Hibernate 公开了许多指标 在调整运行时很有用 系统通过SessionFactory.getStatistics()。 Hibernate 甚至可以配置为 通过 JMX 公开这些统计信息。读 中接口的 Javadocorg.hibernate.stats了解更多 信息。
您会找到org.hibernate.stats 包摘要here。
对于 JMX 部分,请查看 Publishing statistics through JMX。
对于更高级的东西,您必须依赖缓存提供商的特定功能。
【讨论】:
如果您的二级缓存是 EhCache,那么您可以从其 MBean 中读取缓存状态。
请参阅 ehcache 文档中的“JMX 管理和监控”:http://ehcache.org/documentation/jmx.html
【讨论】:
有一个工具可以监控通过 JMX 暴露的 hibernate 的缓存。它叫做 hibernate-jconsole,可以在这里下载 - http://hibernate-jcons.sourceforge.net/
【讨论】: