Hi, Starting from the original document Manik rolled out a while ago [1], here's the list of requirements I'm currently aware of in the context of the new CacheStore API: - better integration with the fluent API (CacheStore.init() is horrendous) - support for non-distributed transaction cache stores (1PC) and support for XA capable cache store - support iteration over all the keys/entries in the store - needed for efficient Map/Reduce integration - needed for efficient implementation of Cache.keySet(), Cache.entrySet(), Cache.values() methods - a simple read(k) + write(k,v) interface to be implemented by users that just want to position ISPN as a cache between an app and a legacy system and which don't need/want to be bothered with all the other complex features - support for expiration notification (ISPN-3064) - support for size (efficient implementation of the cache.size() method)
Re: JSR-107 integration, I don't think we should depend on the JSR-107 API as it forces us to use JSR-107 internal structures[2] but we should at least provide an adapter layer. [1] https://community.jboss.org/wiki/CacheLoaderAndCacheStoreSPIRedesign [2] https://github.com/jsr107/jsr107spec/blob/v0.8/src/main/java/javax/cache/integration/CacheWriter.java#L59 Cheers, -- Mircea Markus Infinispan lead (www.infinispan.org) _______________________________________________ infinispan-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/infinispan-dev
