簡體   English   中英

JMX監視EhCache服務器MBean

[英]JMX monitoring EhCache Server MBeans

我有一個Tomcat實例,在其中部署了ehcache-server。 現在,我發出休息請求以放置/獲取獨立Java類中的元素。 一切正常。

現在,我想監視緩存。 我了解ehcache-server提供了多個類的mbean。 但是我幾乎找不到有關如何注冊這些mbean的任何信息。

啟動jconsole時,可以看到Tomcat實例並連接到它。 但是我看不到ehcache-server的任何類(net.sf.ehache。*)。

文檔說我可以使用函數registerMBeans來注冊mbean。 但是,如何從獨立的Java應用程序中調用Web應用程序中的方法?

恐怕我完全誤會了。 我可以使用一些有關如何注冊mbean和進行監視的指針。

提前致謝。

實際上很簡單。 在您的Web項目中將其添加到配置文件下面

@Configuration
@EnableCaching
public class SpringCachePocConfig implements CachingConfigurer {

    net.sf.ehcache.CacheManager newCacheManager;

    @Bean(destroyMethod = "shutdown")
    public net.sf.ehcache.CacheManager ehCacheManager() {
        //Construct you cache here.

        net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
        config.addCache(<Your cache>);

        this.newCacheManager = new net.sf.ehcache.CacheManager(config);
        return newCacheManager;
    }


    @Bean
    public ManagementService managementService() {
        return new ManagementService(ehCacheManager(), mbeanServer(), true, true, true, true);

    }


    @Bean
    @Override
    public CacheManager cacheManager() {
        return new EhCacheCacheManager(ehCacheManager());
    }


    @Bean
    public MBeanServer mbeanServer() {
        MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
        return mBeanServer;   
    }

    @PostConstruct
    public void init() {
        ManagementService.registerMBeans(ehCacheManager(), mbeanServer(), true, true, true, true);
    }


}

init()函數將注冊您的MBean。 不要忘記在init()方法上方添加@PostConstruct批注

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM