Hello Xasima,
WADI does not yet provide a POJO caching solution.
Regarding the
http://incubator.apache.org/wadi/wadi-core/apidocs/org/
codehaus/wadi/gridstate/impl/GCache.html class, AFAIK it was more an
idea than an actual fully working caching implementation.
I know that a Geronimo POJO caching solution, GCache, was implemented
a while back in the geronimo-sandbox and documented here http://
cwiki.apache.org/GMOxDEV/geronimo-clustering-with-gcache.html.
However, as this caching solution has not been touched for a while, I
do not think it is in a working state.
The approach you are taking seems to me reasonable and I think it
would be quite useful for other users to have such GBean services for
JCS or EHCache.
FYI, I am currently working on the implementation of a hierarchical,
transactional, distributed, partitioned and replicated cache and data-
grid solution as part of WADI. I hope to have a working solution at
the end of the month and hopefully before you having the need for it :)
Thanks,
Gianny
On 01/05/2008, at 2:22 AM, Xasima Xirohata wrote:
> Hi. I want to figure out what is the proper strategy to plug-in
> POJO cache into geronimo (2.1).
> I want to use the different implementation of caching (HashMap,
> EHCACHE, JCS) and work in standalone mode (not explicit clustering
> support for the first time).
>
> In the existed code we just want to get a cache instance using
> JNDI, cast this to java.util.Map and invoke plain put/get methods.
> I have explored geronimo docs and found the following possibilities:
> 1) use the terracotta (
http://www.terracotta.org/confluence/
> display/orgsite/Distributed+Caches) that exposes such an wrapper
> around different implementation.
> 2) use the wadi and the
http://incubator.apache.org/wadi/wadi-
> core/apidocs/org/codehaus/wadi/gridstate/impl/GCache.html class
> somehow
> 3) use the custom gbean as wrapper upon different
> implementation of caching (as the general solution for any separate
> custom services).
>
> Unfortunately, the 70Mb size of Terracotta seems too heavy to use
> for such a use case when I don't plan to work with clustering at once.
> I don't found a page to integrate this options with WADI, please
> provide some details on this..
> So I have stopped with the last way. I think that having POJO cache
> exposed as gbean (instead of using as regular embedded jar) is a
> right strategy since it is quite naturally to
> 1) implement initializing, clearing, storing (if persistence is
> on) of POJO cache when the correspondent geronimo lifecycle events
> occur
> 2) providing different <attribute > </attribute> in the gbean
> plan to configure in external manner different POJO cache parameters
> 3) having MBean that reports on state and loads of the cache
> ( it may be interesting how much objects are consumes from this
> and if we need to change expiration policy or allocate more size)
>
> Am I right with the approach? Do you have any predefined gbeans (or
> prototype in sandbox code area) code for this?
> Could I use WADI for this purpose?
> --
> Best regards,
> ~ Xasima Xirohata ~