Я использую Apache Shiro в своем Tomcat и хочу включить кеширование авторизации через EhCache.
Что я сделал, так это добавил эти две строки в shiro.ini:
cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager securityManager.cacheManager = $cacheManager
и скопировал ehcache-core-2.5.1.jar в мой каталог WEB-INF/lib. Для авторизации я реализовал пользовательскую область, которая считывает разрешения из базы данных MySQL. Поэтому я хочу включить кеширование, чтобы максимально сократить запросы к базе данных... Должен отметить, что я не знаком с EhCache и хочу только включить кеширование авторизации!
Если я правильно понял документацию Широ, вышеизложенного достаточно, чтобы включить кеширование, однако я этого не вижу :(
Tomcat запускается без исключений, и в тестовом JSP, который я использую, авторизация сначала работает нормально. После того, как я внесу изменения в разрешения базы данных, я увижу, что тестовый JSP сразу узнает об изменении! Я ожидал, что тестовый JSP вернет значения из кеша... Можете ли вы сказать мне, что может быть не так? Кроме того, есть ли способ узнать, вызывается ли EhCache на самом деле и как он себя ведет (если необходимо включить ведение журнала, я был бы признателен, если бы вы предоставили мне подробную информацию, потому что я не очень знаком с этим).
Обновление: я также должен упомянуть, что добавил строку
System.out.println("Caching is enabled " + isCachingEnabled() );
при инициализации моей пользовательской области, и я получаю true!
ТИА,
Серафим