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