Можно получить доступ к статистике гибернации + статистике ehcache и т. Д. Через jmx. EhcacheHibernateMBean - это основной интерфейс, который предоставляет все API через jmx. Он в основном расширяет два интерфейса - EhcacheStats и HibernateStats. И как следует из названия, EhcacheStats содержит методы, связанные с Ehcache и HibernateStats, связанные с Hibernate. Вы можете увидеть скорость попадания / пропуска / попадания в кэш, динамически изменять значения элемента конфигурации - например, maxElementInMemory, TTI, TTL, включать / отключать сбор статистики и т. Д. И многое другое. Это может быть достигнуто в вашем приложении, переопределив метод buildSessionFactory () в LocalSessionFactoryBean, добавив tc.active как «истинное» системное свойство, когда кэш второго уровня включен в конфигурации Hibernate
@Override
protected SessionFactory buildSessionFactory() throws Exception {
Properties properties = this.getHibernateProperties();
String secondLevelCache = (String) properties
.get("hibernate.cache.use_second_level_cache");
if (secondLevelCache.equals("true")) {
System.setProperty("tc.active", "true");
}
return super.buildSessionFactory();
}
Нет, когда вы получаете доступ к своему приложению через JMX, перейдите на вкладку Mbeans, слева перейдите к net.sf.ehcache.hibernate -> net.sf.ehcache.Cachemanager @ ..
При этом перейти к атрибутам.
Нажмите на атрибуты и на правой стороне, проверьте RegionCacheAttriutes.
Примечание : представление изменилось с JDK1.7. После входа в консоль JMX перейдите к net.sf.ehcache.hibernate на вкладке Mbeans. Нажмите на CacheRegionStats. Если щелкнуть по нему, откроется экран справа. Дважды щелкните в верхней части, и появится табличная навигация, как показано ниже. Вам придется перемещаться по табличной навигации, чтобы найти количество интересующих вас объектов.