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
