On Mar 22, 2010, at 11:07 AM, Adam Heath wrote: > Michael Xu (xudong) wrote: >> hi Adam, >> >> Thanks for your work. Cache layer is critical for ofbiz as ERP system. >> >> Just one quick question: There are a lot of cache frameworks (Personally I >> like Apache JCS very much) out there. Why ofbiz has to have its own >> implement? >> >> In my opinion, we have two ways to reduce bugs. Write more test codes, or >> write less product codes. Maybe we can replace ofbiz components with some >> existing components (say cache) or separate ofbiz components as sub projects >> or just totally new project to attract more projects to use (say, entity >> engine). > > I've looked at ehcache, and have plans to convert to that eventually. > First, however, is to get our code functionting correctly, with no > bugs, and with good test cases on the existing interface(UtilCache), > then the implementation underneath can be switch, while keeping the > same set of test cases.
I looked around a bit recently to see if there was a cache project that could replace the UtilCache stuff. OSCache and Ehcache both look pretty good, and Jakarta JCS looks okay, and of the various I read about Ehcache looks like the most feature-rich (especially for distributed caches and such). Ehcache also tracks statistics much like the OFBiz UtilCache stuff does. None of these appear to support soft-reference cache entries, but maybe that's not a big deal and it would be better to do size/entries limiting instead anyway (they all have good eviction algorithms). Are there any other cache projects that other people like? Should we deprecate the soft-reference support in order to more easily plugin a separate cache library? -David