Tool for monitoring Hibernate cache usage

拥有回忆 提交于 2019-12-21 06:28:17

问题


Is there any tool which would allow for monitoring Hibernate 2nd level cache usage? I know that I could use Hibernate API for retrieving such information. But what should I do when I have application which doesn't read the information itself, and I can't modify it? Is there any way to read cache statistics from the outside of the application?


回答1:


Quoting Hibernate documentation:

3.4.6. Hibernate statistics

If you enable hibernate.generate_statistics, Hibernate exposes a number of metrics that are useful when tuning a running system via SessionFactory.getStatistics(). Hibernate can even be configured to expose these statistics via JMX. Read the Javadoc of the interfaces in org.hibernate.stats for more information.

You'll find the org.hibernate.stats package-summary here.

For the JMX part, have a look at Publishing statistics through JMX.

For more advanced stuff, you'll have to rely on specific features from your cache provider.




回答2:


If your 2nd level cache is an EhCache, then you can read cache status from its MBean.

See 'JMX Management and Monitoring' in the ehcache documentation: http://ehcache.org/documentation/jmx.html




回答3:


There is a tool for monitoring hibernate's cache that has been exposed through JMX. Its called hibernate-jconsole and can be downloaded here - http://hibernate-jcons.sourceforge.net/




回答4:


Implement

http://narcanti.keyboardsamurais.de/hibernate-statistics-jsp-reloaded.html

for "human" use



来源:https://stackoverflow.com/questions/1839299/tool-for-monitoring-hibernate-cache-usage

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!