【问题标题】:JMX monitoring EhCache Server MBeansJMX 监控 EhCache 服务器 MBean
【发布时间】:2018-06-05 17:07:43
【问题描述】:

我有一个部署了 ehcache-server 的 Tomcat 实例。现在我提出休息请求以从我的独立 Java 类中放置/获取元素。一切都按预期工作。

现在我想监控缓存。我了解 ehcache-server 提供了多个类的 mbean。但我几乎找不到任何关于如何注册这些 mbean 的信息。

当我启动 jconsole 时,我可以看到 Tomcat 实例并连接到它。但是我没有看到 ehcache-server 的任何类(net.sf.ehache.*)。

文档说我可以使用函数registerMBeans 来注册mbean。但是如何从我的独立 Java 应用程序调用 Web 应用程序中的方法?

恐怕我完全误解了这一点。我可以使用一些指针来说明如何注册 mbean 并进行监控。

提前致谢。

【问题讨论】:

  • 也许您没有连接到正确的端口,来自 server 手册:“独立服务器自动在高于 HTTP 侦听端口的端口 1 上公开 MBeanServer。”
  • @LuisMuñoz 我没有使用 ehcache 独立服务器。但我仍然尝试连接到 localhost:8081,但没有成功。
  • 这里似乎有 2 个不同的东西,1. 使 ehcache 在服务器上正确注册到 JMX,以便它们出现在 jconsole 上。 2. 为你的应用编写你自己的JXM客户端,换句话说,让你的应用以某种方式扮演jconsole的角色。

标签: java tomcat ehcache jmx


【解决方案1】:

其实很简单。在您的 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 注释

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多