> -----Original Message----- > From: Carsten Ziegeler [mailto:[EMAIL PROTECTED] > Sent: Tuesday, January 24, 2006 13:07 > To: dev@cocoon.apache.org > Subject: Re: caching for source objects? > > > Max Pfingsthorn schrieb: > > Hello everyone! > > > > I've run into some problems with performance (in general) > and I noticed that source objects are not cached... This is > not so nice since, for example, WebDAVSources are quite > expensive to instantiate. > > > > Would it be a good idea in general if we subclassed the > excalibur source resolver's resolveURI() method to add some > caching (and delayed release) of the sources, say, using the > o.a.excalibur.store.impl.MRUMemoryStore? > > > I think we have a CachingSource implementation somewhere (scratchpad?) > which can be used as a wrapper around any other source > implementation. I > think this one will fit your use case.
Yes, I saw that one, and it works pretty well. But I thought it would be nicer to have a less intrusive and transparent way of doing the caching... With the CachingSourceFactory, you have to use "two" protocols, the caching one and the one you actually want to use. So you end up with something like: caching:file://foo.xml Having a way to swap implementations of the SourceResolver and transparently have source caching for every source you use (the ones that produce a non-null cache key, of course) would be nice... Maybe we can take the implementation of the CachingSource/Factory and encapsulate it in a CachingSourceResolver? max