Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 在ehcache 3.1.2中启用JMX支持_Caching_Ehcache_Jmx_Jsr107 - Fatal编程技术网

Caching 在ehcache 3.1.2中启用JMX支持

Caching 在ehcache 3.1.2中启用JMX支持,caching,ehcache,jmx,jsr107,Caching,Ehcache,Jmx,Jsr107,我正在使用camel 2.18.1和camel ehcache组件构建一个简单的缓存。虽然缓存设置工作正常,但我发现使用ehcache 3.1.2注册MBean很困难(这是通过camel实现的) 阅读文档-不清楚如何使用3.x实现支持,因为API上不再提供使用ManagementService注册MBean的标准方法 该文档与纯ehcache实现和JSR-107缓存实现有点混淆 尽管JSR-107 JCache实现有打开JMX支持的选项,但连接xml配置和启动缓存看起来会在缓存启动时引发异常:

我正在使用camel 2.18.1和camel ehcache组件构建一个简单的缓存。虽然缓存设置工作正常,但我发现使用ehcache 3.1.2注册MBean很困难(这是通过camel实现的)

阅读文档-不清楚如何使用3.x实现支持,因为API上不再提供使用ManagementService注册MBean的标准方法

该文档与纯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支持以及需要哪些其他依赖项的任何指示


2.
200

这很可能意味着您的
CacheManager
未使用JSR-107注册。如果我这样做的话,它会完美地工作。你可以试着去做

public static void main(String[] args) throws Exception {
    ClassLoader classLoader = CheckJmx.class.getClassLoader();
    URI uri = classLoader.getResource("ehcache.xml").toURI();
    CachingProvider cachingProvider = Caching.getCachingProvider();
    try(CacheManager cm = ((CachingProvider) cachingProvider).getCacheManager(uri, classLoader)) {
        Thread.sleep(60_000);
    }
}
但是,当您未通过JSR-107注册时,
Jsr107Service
不可用。但是添加这项服务无论如何都帮不了你。JMX MBean仅在通过JSR-107注册时可用


因此,您最好将
CacheManager
创建代码更改为使用与上述类似的代码。

谢谢@Henri。你的解决方案有效。我正在尝试使用ehcache xml配置的类似实现,是否有一种方法可以纯粹通过xml配置设置管理支持?是的。事实上,这更容易。按照此操作创建您的
CacheManager
。然后,XML MBeans配置在下面的部分中。