Sylvain Wallez <sylvain <at> apache.org> writes: > > !!!!! A LogicSheet cannot be Serializable !!!!! > > It extends AbstractLogEnabled and has attributes of type ServiceManager > and SourceResolver, which aren't serializable ! > > Furthermore, I don't understand why LogicSheets go to JCS since the > transient store is used (see AbstractMarkupLanguage.service()) >
JCS store integration is accomplished through three components, following the current design of a DefaultStore, TransientStore and PersistentStore. JCS is NOT a persistence engine. It's a caching system. Hence there is some fricsion between the Store concept and JCS (eg. JCS will always use a memory store upfront). The way I've implemented it is that each of the three concrete implementations loads JCS using a template configuration geared towards that component's special role (transient, persistent, transient+persistent ie default). And then allowed for some specific configuration tweaking. > Don't have much time ATM, but looking at the recent changes I see a > JCSTransientCache. We must be *very careful* with transient cache being > actually transient, i.e. *not requiring objects to be serializable*. > > If JCS requires objects to be serializable even without a persistent > backend, so let's *not use it* for the transient cache, and keep the > previous MRU memory store. > > And please, please, do not make Serializable objects that intrinsically > are not. This is the root of many evils. > Chill out dude. You don't have to be overly emphatic about it to get your point across I've already rolled back the changes. -- Unico
