On Jul 24, 2013, at 12:55 PM, Mircea Markus <mmarkus(a)redhat.com> 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.
I agree on not depending on it, but design it in such way that's easy to write such
adapter. IOW, make sure the functionality in the JSR-107 API is covered easily, without
having add boiler-plate code :)
--
Galder Zamarreño
galder(a)redhat.com
twitter.com/galderz
Project Lead, Escalante
http://escalante.io
Engineer, Infinispan
http://infinispan.org