Инструмент для мониторинга использования Hibernate кеша - PullRequest
2 голосов
/ 03 декабря 2009

Существует ли какой-либо инструмент, позволяющий отслеживать использование кэша Hibernate 2-го уровня? Я знаю, что мог бы использовать Hibernate API для получения такой информации. Но что мне делать, если у меня есть приложение, которое не читает саму информацию, и я не могу ее изменить? Есть ли способ прочитать статистику кеша снаружи приложения?

Ответы [ 4 ]

7 голосов
/ 03 декабря 2009

Цитирование Hibernate Документация :

3.4.6. Статистика гибернации

Если вы включите hibernate.generate_statistics, Hibernate выставляет ряд метрик которые полезны при настройке бега система через SessionFactory.getStatistics(). Hibernate даже может быть настроен на выставить эту статистику через JMX. Читать Javadoc интерфейсов в org.hibernate.stats для более информация.

Вы найдете org.hibernate.stats сводку пакета здесь .

Для части JMX, посмотрите на Публикация статистики через JMX .

Для более сложных вещей вам придется полагаться на определенные функции вашего провайдера кеша.

3 голосов
/ 20 августа 2012

Существует инструмент для мониторинга кэша hibernate, который был открыт через JMX. Он называется hibernate-jconsole и может быть загружен здесь - http://hibernate -jcons.sourceforge.net /

3 голосов
/ 03 декабря 2009

Если ваш кэш 2-го уровня представляет собой EhCache, вы можете прочитать состояние кэша из его MBean.

См. «Управление и мониторинг JMX» в документации по ehcache: http://ehcache.org/documentation/jmx.html

1 голос
/ 26 мая 2011

Реализовать

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

для "человеческого" использования

...