使用 ehcache 的 Spring 实现配置 JMX?

史密斯先生

我正在尝试按照此处此处的文章为 ehCache 实现 JMX。但是,我的应用程序使用 Spring 实现,并且下面的配置条目出现此异常:

org.springframework.beans.factory.UnsatisfiedDependencyException:在类路径资源 [trs.application.finance.businessactivites.xml] 中定义名称为“managementService”的 bean 创建时出错:通过构造函数参数表达的不满足的依赖关系,类型为 [net.sf 的索引为 0 .ehcache.CacheManager]:无法将类型 [org.springframework.cache.ehcache.EhCacheCacheManager] 的构造函数参数值转换为所需类型 [net.sf.ehcache.CacheManager]:无法转换类型 'org.springframework.cache 的值.ehcache.EhCacheCacheManager' 到所需类型 'net.sf.ehcache.CacheManager'; 嵌套异常是 java.lang.IllegalStateException:无法将类型 [org.springframework.cache.ehcache.EhCacheCacheManager] 的值转换为所需类型 [net.sf.ehcache.CacheManager]:

spring 是否有我可以使用的 net.sf.ehcache.management.ManagementService 的实现?如果是这样,我该如何配置它,以便在我的应用程序中为 ehcache 提供 JMX 支持。

请注意,“managementService”和“mbeanServer”bean 是我添加的用于尝试和获取 ehcache 以向 jmx 注册的内容。“myCacheManager”已经存在于我的 spring 配置中并且似乎工作正常,就 ehcache 而言。

 <bean id="managementService" class="net.sf.ehcache.management.ManagementService"
      init-method="init"
      destroy-method="dispose">
    <constructor-arg ref="myCacheManager"/>
    <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>
<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
      <property name="locateExistingServerIfPossible" value="true"/>
</bean>
<bean id="myCacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
    <property name="cacheManager">
        <bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
            <property name="configLocation" value="classpath:ehcache.xml"/>
        </bean>
    </property>
</bean>
路易斯·贾科梅特

问题在于您连接 bean 的方式。

你不希望使用myCacheManagermanagementService,你真的想用返回,并通过作为豆cacheManagermyCacheManager

所以我建议移动以下内容:

<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation" value="classpath:ehcache.xml"/>
</bean>

到顶级 bean,以便它可以注入managementService.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xml spring配置为jmx mbean配置只读属性

来自分类Dev

Spring框架中的ehcache配置

来自分类Dev

使用JMX在运行时禁用ehcache

来自分类Dev

使用JMX在运行时禁用ehcache

来自分类Dev

通过JMX监视Ehcache

来自分类Dev

ehcache 3.8.1是否仍使用ehcache.xml进行配置?

来自分类Dev

使用Spring配置Abstract Factory的实现类

来自分类Dev

使用Spring的cut ehcache逐出策略

来自分类Dev

使用Spring / EHCache加载时刷新缓存

来自分类Dev

Spring Boot,使用EhCache进行缓存

来自分类Dev

使用Spring以编程方式驱逐Ehcache元素

来自分类Dev

使用Spring的cut ehcache逐出策略

来自分类Dev

使用Spring / EHCache加载时刷新缓存

来自分类Dev

使用JMX运行Hibernate 4.3(无spring)

来自分类Dev

我无法使用休眠配置ehcache

来自分类Dev

码头:如何使用JMX配置DoSFilter参数

来自分类Dev

在ehcache 3.1.2中启用JMX支持

来自分类Dev

在没有XML的Spring 4中使用EhCache

来自分类Dev

使用+ Spring + Struts应用程序的ehcache并发修改异常

来自分类Dev

如何在Mule中使用CXF配置EHCache

来自分类Dev

Spring Ehcache MBean监视

来自分类Dev

Spring Boot EHcache cacheResolver

来自分类Dev

Spring Boot JMX ClassNotFoundException

来自分类Dev

如何在jmx中显示EhCache的统计信息

来自分类Dev

使用Spring Security初始化应用程序时出错:找不到net / sf / ehcache / Ehcache

来自分类Dev

Munin JMX配置

来自分类Dev

Munin JMX配置

来自分类Dev

如何在Spring Boot应用程序中为ehCache配置Dropwizard / CodaHale指标?

来自分类Dev

通过Spring / MyBatis了解EhCache