J'essaie de suivre les articles here & here pour implémenter JMX pour ehCache. Mon application utilise la mise en œuvre de printemps mais & les entrées de configuration s'en dessous de cette exception:Configurer JMX avec l'implémentation Spring de ehcache?
org.springframework.beans.factory.UnsatisfiedDependencyException: Erreur de création de haricot avec le nom « ManagementService » définis dans le chemin classe ressources [très. application.finance.businessactivites.xml]: Dépendance non satisfaite exprimée par l'argument constructeur avec index 0 de type [net.sf.ehcache.CacheManager]: Impossible de convertir valeur d'argument constructeur de type [org.springframework.cache.ehcache .EhCacheCacheManager] au type requis [net.sf.ehcache.CacheManager]: Échec pour convertir la valeur de type 'org.springframework.cache.ehcache.EhCacheCacheManager' en obligatoire type 'net.sf.ehcache.CacheManager'; exception imbriquée est java.lang.IllegalStateException: Impossible de convertir la valeur de type [org.springframework.cache.ehcache.EhCacheCacheManager] pour le type requis [net.sf.ehcache.CacheManager]: aucune stratégie éditeurs correspondants ou conversion trouvé
Est-ce que le printemps a une implémentation de net.sf.ehcache.management.ManagementService que je peux utiliser? Si oui, comment puis-je le configurer pour que JMX prenne en charge ehcache dans mon application?
Remarque, le "managementService" & "mbeanServer" beans sont ce que j'ai ajouté pour essayer & obtenir ehcache pour s'enregistrer avec jmx. "myCacheManager" existe déjà dans ma config de printemps & semble bien fonctionner, car ehcache seul va.
<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>