1

我正在使用Ehcache caching with spring 配置。我需要监控Ehcachejconsole-mbeans 或 jvisualvm 中的对象,但我没有在 jconsole 下看到 ehcache mbeans。

我也在下面提到statistics="true

…………

4

2 回答 2

2

您可以尝试在代码中启用它。

CacheManager manager = CacheManager.getCacheManager("CacheName");
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
ManagementService.registerMBeans(manager, mBeanServer, true, true, true, true);
于 2016-01-27T08:00:33.480 回答
1

我们需要向托管 beanserver 注册 ehcache,如下所示

    <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
    <property name="locateExistingServerIfPossible" value="true" />
  </bean>

    <bean id="managementService"
        class="net.sf.ehcache.management.ManagementService"
        init-method="init"
        destroy-method="dispose">

        <constructor-arg ref="ehcache"/>
        <constructor-arg ref="mbeanServer"/>
        <constructor-arg index="2" value="true"/>
        <constructor-arg index="3" value="true"/>
        <constructor-arg index="4" value="true"/>
        <constructor-arg index="5" value="true"/>
 </bean>

您已经必须在 spring config xml 中有以下条目

<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
     <property name="cacheManager" ref="ehcache"/>
</bean>

<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" scope="singleton">
    <property name="configLocation" value="classpath:ehcache.xml" />
    <property name="shared" value="true" />
</bean>
于 2015-12-09T03:13:08.753 回答