[英]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.