Я использую EhCache 1.4.0, Spring 3.0.5 в веб-приложении, развернутом на Tomcat 6 с использованием JRE 1.6. Я раскрываю через JMX управление кэшем L2, например:
The cacheManager configuration.
false
false
org.hibernate.dialect.MySQLInnoDBDialect
true
org.hibernate.cache.EhCacheProvider
applicationOne-web/ehcache.xml
org.hibernate.cache.StandardQueryCacheFactory
Я должен разрешить очистить все записи в кэше L2 с помощью инструмента jmxterm , например:
run --bean net.sf.ehcache:type=CacheManager,name=net.sf.ehcache.CacheManager@605df3c5 clearAll
Мне известно о jconsole для определения точного CacheManager
из контекста, но я могу не использовать его по некоторым причинам, в которые не буду вдаваться.
Пока , так хорошо, но предположим, что на моем JVM (сервере Tomcat) развернуто 2 приложения, оба из которых позволяют JMX-мониторинг для EhCache. Имена этих двух MBean-компонентов будут следующими:
net.sf.ehcache:type=CacheManager,name=net.sf.ehcache.CacheManager@605df3c5
net.sf.ehcache:type=CacheManager,name=net.sf.ehcache.CacheManager@49ff3459
Как видите, они не совсем полезны при попытке определить какой кеш очистить.
Итак, мой вопрос: есть ли возможность задать имя каждого CacheManager, чтобы точно определить, какой из них использовать для очистки всех записей в кэше L2?
Спасибо.