나는 camel 2.18.1 및 camel-ehcache 구성 요소를 사용하여 간단한 캐시를 작성합니다. 캐시 설정이 정상적으로 작동하는 동안 ehcache 3.1.2를 사용하여 mbeans를 등록하기가 어렵습니다. (이것은 낙타를 통해 가져옵니다).ehcache에서 JMX 지원 사용 3.1.2
문서 읽기 - ManagementService를 사용하여 mbean을 등록하는 표준 방법으로 3.x를 지원할 수있는 방법이 API에서 더 이상 제공되지 않는다고 분명하지 않습니다.
설명서는 순수 ehcache 구현 및 JSR-107 캐시 구현과 약간 혼동 스럽습니다.
JSR-107 JCache 구현 JMX 지원을 설정하는 옵션, XML 구성 배선 캐시는 캐시 시작에 예외를 던지는 보인다 시작해야하지만 :
Caused by: java.lang.IllegalArgumentException: Couldn't resolve Service org.ehcache.jsr107.config.Jsr107Service
내 XML 구성 참조를 ehcache 3.x에서 JMX를 지원하는 방법에 대한 지침과 추가 종속성이 필요합니까?
<ehcache:config
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:ehcache="http://www.ehcache.org/v3"
xmlns:jcache="http://www.ehcache.org/v3/jsr107"
xsi:schemaLocation="
http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.0.xsd
http://www.ehcache.org/v3/jsr107 http://www.ehcache.org/schema/ehcache-107-ext-3.0.xsd">
<ehcache:service>
<jcache:defaults jsr-107-compliant-atomics="true" enable-management="true" enable-statistics="true">
<jcache:cache name="my-cache" template="myDefaultTemplate"/>
</jcache:defaults>
</ehcache:service>
<ehcache:persistence directory="/var/cache"/>
<ehcache:cache alias="cache-test">
<!--
OPTIONAL, defaults to no expiry
Entries to the Cache can be made to expire after a given time
-->
<ehcache:expiry>
<!--
time to idle, the maximum time for an entry to remain untouched
Entries to the Cache can be made to expire after a given time
other options are:
* <ttl>, time to live;
* <class>, for a custom Expiry implementation; or
* <none>, for no expiry
-->
<ehcache:tti unit="minutes">2</ehcache:tti>
</ehcache:expiry>
<!--
The maximal number of entries to be held in the Cache, prior to eviction starting
-->
<ehcache:heap unit="entries">200</ehcache:heap>
<!--
OPTIONAL
Any further elements in another namespace
-->
<jcache:mbeans enable-statistics="true" enable-management="true" />
</ehcache:cache>
<!--
OPTIONAL
A <cache-template> defines a named template that can be used be <cache> definitions in this same file
They have all the same property as the <cache> elements above
-->
<ehcache:cache-template name="myDefaultTemplate">
<ehcache:expiry>
<ehcache:none/>
</ehcache:expiry>
<!--
OPTIONAL
Any further elements in another namespace
-->
</ehcache:cache-template>
</ehcache:config>
감사합니다. @Henri. 귀하의 솔루션이 작동합니다. 비슷한 구현을 ehcache xml 구성을 사용하여 시도하고 있는데, XML 구성을 통해 순수하게 관리 지원을 설정할 수있는 방법이 있습니까? –
예. 사실 쉽습니다. 이것을 따라'CacheManager' http://www.ehcache.org/documentation/3.2/107.html#getting-jsr-107-caches-configured-through-ehcache-xml을 만드십시오. 그런 다음 XML MBeans 구성은 아래 섹션에 있습니다. – Henri