[infinispan-dev] requirements for the new CacheStore API

Adrian Nistor anistor at redhat.com
Thu Jul 25 09:51:07 EDT 2013


State transfer currently needs to retrieve from cache store just certain 
CH segments but this is not directly possible with current API so we 
have to iterate over the entire set. Would it make sense to add 
retrieval methods that allow a segment or set of segments to be specified?

Adrian

On 07/24/2013 01:55 PM, Mircea Markus wrote:
> 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,



More information about the infinispan-dev mailing list