Hi,
you might be interested that we work on this. We have just created an OSGi Declarative Services component that uses the latest Infinispan-JCache code. Well, this component is pretty primitive, there are only a couple of configuration possibilities:
- Clustername
- IP
- Port
The interface of the service that the Component implements has only one function:
- Cache createCache(cacheConfiguration);
cacheConfiguration contains some possibilities like the type (distributed/replicated), maxIdle, maxEntries, ...
We had only one problem till now. The infinispan-jcache wired to the javax.enterprise.context and some other packages, although we do not use them in the OSGi world. We made them optional in the MANIFEST.MF and uploaded it to our maven repository.
The component will be released very soon (within days) at GitHub. It will be part of our OpenSource framework. Every other components will be able to create caches for themselves based on the cacheFactory component.
If you are interested, I will keep you up-to-date on this mailing list.
Btw.: This is the MANIFEST we use in infinispan-jcache that made everything work (till now) (look for the word "optional" to see what we had to change):
Import-Package: javax.cache;version="[1.0,2)",javax.cache.annotation;ver
sion="[1.0,2)",javax.cache.configuration,javax.cache.event;version="[1.
0,2)",javax.cache.expiry,javax.cache.integration,javax.cache.management
,javax.cache.processor,javax.cache.spi;version="[1.0,2)",javax.enterpri
se.context;resolution:=optional,javax.enterprise.context.spi;resolution
:=optional,javax.enterprise.event;resolution:=optional,javax.enterprise
.inject;resolution:=optional,javax.enterprise.inject.spi;resolution:=op
tional,javax.inject;resolution:=optional,javax.interceptor;resolution:=
optional,javax.management,javax.naming,javax.transaction;version="[1.1,
2)",javax.transaction.xa;version="[1.1,2)",javax.xml.namespace,org.infi
nispan;version="[6.0,7)",org.infinispan.cdi;resolution:=optional;versio
n="[6.0,7)",org.infinispan.commands;version="[6.0,7)",org.infinispan.co
mmands.read;version="[6.0,7)",org.infinispan.commands.tx;version="[6.0,
7)",org.infinispan.commons;version="[6.0,7)",org.infinispan.commons.api
;version="[6.0,7)",org.infinispan.commons.configuration;version="[6.0,7
)",org.infinispan.commons.marshall;version="[6.0,7)",org.infinispan.com
mons.util;version="[6.0,7)",org.infinispan.commons.util.concurrent;vers
ion="[6.0,7)",org.infinispan.configuration.cache;version="[6.0,7)",org.
infinispan.configuration.global;version="[6.0,7)",org.infinispan.config
uration.parsing;version="[6.0,7)",org.infinispan.container;version="[6.
0,7)",org.infinispan.container.entries;version="[6.0,7)",org.infinispan
.container.versioning;version="[6.0,7)",org.infinispan.context;version=
"[6.0,7)",org.infinispan.factories;version="[6.0,7)",org.infinispan.int
erceptors;version="[6.0,7)",org.infinispan.interceptors.base;version="[
6.0,7)",org.infinispan.jmx;version="[6.0,7)",org.infinispan.lifecycle;v
ersion="[6.0,7)",org.infinispan.manager;version="[6.0,7)",org.infinispa
n.marshall.core;version="[6.0,7)",org.infinispan.metadata;version="[6.0
,7)",org.infinispan.notifications;version="[6.0,7)",org.infinispan.noti
fications.cachelistener.annotation;version="[6.0,7)",org.infinispan.not
ifications.cachelistener.event;version="[6.0,7)",org.infinispan.persist
ence.manager;version="[6.0,7)",org.infinispan.persistence.spi;version="
[6.0,7)",org.infinispan.persistence.support;version="[6.0,7)",org.infin
ispan.remoting;version="[6.0,7)",org.infinispan.remoting.transport;vers
ion="[6.0,7)",org.infinispan.remoting.transport.jgroups;version="[6.0,7
)",org.infinispan.stats;version="[6.0,7)",org.infinispan.transaction;ve
rsion="[6.0,7)",org.infinispan.transaction.xa;version="[6.0,7)",org.inf
inispan.transaction.xa.recovery;version="[6.0,7)",org.infinispan.util;v
ersion="[6.0,7)",org.infinispan.util.concurrent;version="[6.0,7)",org.i
nfinispan.util.concurrent.locks.containers;version="[6.0,7)",org.infini
span.util.logging;version="[6.0,7)",org.jboss.logging;version="[3.1,4)"
,org.jgroups;version="[3.4,4)" Regards,