]
Tristan Tarrant commented on ISPN-11642:
----------------------------------------
[~nmittles] I've just created a pull-request for ISPN-11960 which allows the use of
wildcard globbing, {{.}} in cache names and externalizing the XML to a separate file. I
hope this satisfies your requirements.
Remote JCacheManager doesn't apply configuration from URI
---------------------------------------------------------
Key: ISPN-11642
URL:
https://issues.redhat.com/browse/ISPN-11642
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols
Affects Versions: 10.1.6.Final
Reporter: Nathan Mittlestat
Assignee: Tristan Tarrant
Priority: Major
Fix For: 11.0.0.Dev05, 10.1.7.Final
Our project is using JCache API's backed by Infinspan. This is a client-server
scenario where we are configuring the Hot Rod Java Client to connect to an Infinispan
server.
We are using _javax.cache.spi.CachingProvider.getCacheManager(URI, ClassLoader,
Properties)_ to obtain a _CacheManager_. The URI passed points to an infinispan XML that
specifies replicated-cache-configuration as part of the configuration. However the cache
created from _CacheManager.createCache()_ ends up being a local cache. This proves to be
a problem when connecting to a cluster of Infinispan servers, as when other connections
attempt to utilize the cached data, they connect to a different Infinispn sever that
doesn't have the cached data. We have verified the XML file pointed to by the URI is
on the ClassLoader passed to the _CacheManager_, and still see the same results.
When we attempt this same scenario using embedded mode instead of client server mode, the
configuration in the URI is applied correctly. We have even been able to create a cluster
of embedded Infinispan servers via JGroups and confirmed the caches are replicated and not
local.
We have also attempted this scenario using Infinispan's proprietary APIs:
_RemoteCacheManager.administration().getOrCreateCache(String name, BasicConfiguration
configuration)_
The configuration object passed to _RemoteCacheManagerAdmin.getOrCreateCache()_ loads the
same Infinispan XML configuration used in the failing remote JCache scenario (as a
_XMlStringConfiguration_ object).