Hi,

I have been working on an implementation of the DataCache API based on wadi-cache, a distributed, replicated and transaction cache.


The implementation can be found there:

https://svn.codehaus.org/wadi/trunk/wadi/wadi-cache-openjpa/src/main/ java/org/codehaus/wadi/cache/openjpa/WADIDataCache.java

and a smoke test there:

https://svn.codehaus.org/wadi/trunk/wadi/wadi-cache-openjpa/src/test/ java/org/codehaus/wadi/cache/openjpa/itest/SmokeTest.java


A couple of things still need to be implemented:
1. DataCache.lock/unlock contracts: even if it is quite easy to implement them, I believe this may result in a noticeable reduction of throughput for cache misses. I wonder if it would not be preferable to have a more optimistic implementation strategy with retires.

2. removeAllInternal(Class cls, boolean subclasses): I intend to provide an implementation as soon as distributed service operations against data cache entries is supported by wadi-cache.

3. The timeout of cache entries is not honored: whatever the timeout attribute value of @DataCache, entities have their timeout defaulted by WADI. I intend to work on a fix.

So far, the implementation has been tested within Geronimo behind a transactional EJB. If you would like to give me a hand to complete implementation or tests, then please feel free to ping me.

Thanks,
Gianny


Reply via email to