没有xml配置的集群JCache

时间:2019-02-20 07:12:26

标签: java caching infinispan jcache

我正在Infinispan中使用JCache API。现在,我想使缓存成为群集。

在Infinispan中,我只会说:

GlobalConfiguration global = GlobalConfigurationBuilder.defaultClusteredBuilder().build();
CacheManager cacheManager = new DefaultCacheManager(global);
Configuration config = new ConfigurationBuilder().cluster.cacheMode(REPL_SYNC).build();
cacheManager.defineConfiguration("clusteredCache", config);
Cache<String, String> clusteredCache = cacheManager.getCache("clusteredCache");

但是使用JCache API,我无法访问Infinispan的配置。因此,据我所知,获取群集缓存的唯一方法是在xml文件中对其进行配置,然后将其移交给javax.cache.CacheManager,如下所示:

javax.cache.CacheManager cacheManager = Caching.getCachingProvider()
   .getCacheManager(URI.create("infinispan-clustered.xml"), getClass().getClassLoader());
javax.cache.Cache<String, String> clusteredCache = cacheManager.getCache("[name defined in xml file]");

但这并不是我真正想要的,因为我不能将新的群集缓存动态添加到CacheManager。

所以我的问题是:如何在不定义xml文件的情况下使JCache集群化?

0 个答案:

没有答案