cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vadim Gritsenko <va...@reverycodes.com>
Subject Revert JCS, Re: XSP not working in CVS head?
Date Mon, 17 May 2004 12:28:11 GMT
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).

Vadim


Mime
View raw message