Как задать имя net.sf.ehcache.CacheManager для мониторинга JMX?

Я использую EhCache 1.4.0, Spring 3.0.5 в веб-приложении, развернутом на Tomcat 6 с использованием JRE 1.6. Я раскрываю через JMX управление кэшем L2, например:


    





    
    
    



    The cacheManager configuration.
    
    
    
        
            
            
            true
            true
            true
            true
        
    



    
    
        
            
                
                    
                    
                
            
        
    



    
        
            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?

Спасибо.

6
задан Bogdan Minciu 21 November 2011 в 14:59
поделиться