cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject RE: Revert JCS, Re: XSP not working in CVS head?
Date Mon, 17 May 2004 12:54:35 GMT
Vadim Gritsenko wrote:
> 
> Unico Hommes wrote:
> 
> >Carsten Ziegeler <cziegeler <at> s-und-n.de> writes:
> >
> >  
> >
> >>It seems this is due to the move to JCS :(
> >>
> >>The logicsheet is put into the cache and JCS casts this to 
> >>Serializable in org.apache.jcs.access.CacheAccess.put().
> >>
> >>So, what do we do now...
> >>
> >>    
> >>
> >
> >Yes, JCS requires objects to implement Serializable (quite 
> acceptable 
> >requirement for a cache ).
> >
> 
> It's acceptable only for *persistent* cache, but not for transient
> *object* cache. Cocoon requires transient cache for it to 
> work (Templates caching etc), while persistent cache is optional.
> 
> 
> >The same problem occurred with Pagesheet from the Paginator 
> >transformer. I've made both Logicsheet and Pagesheet implement 
> >Serializable. Alternatively we could let the JCSStore implementation 
> >check whether the object to store implements Serializable and if not 
> >wrap the object in a Serializable wrapper (at the cost of 
> some performance).
> >
> 
> What purpose would that serve? It will store empty wrappers 
> on the hard drive and retrieve those empty wrappers and hand 
> over back to Cocoon, and all kinds of failures 
> (NullPointerExceptions) will start happening all over the place.
> 
> The only viable solution currently is rollback to Excalibur's 
> memory cache - unless JCS becomes something which can work as 
> in-memory object cache (with optional overflow to disk).
> 
Yepp, I agree with Vadim here. A transient cache should store
more than just Serializable objects.

Now, the big question: does this work with EHCache?

Carsten


Mime
View raw message