Hi all,
I'd like to propose a small change to the Source contract so that
SourceResolver.release() is far more efficient.
Currently, releasing a Source requires to lookup the SourceFactory in
the selector and calling release(Source) on that class. Now looking
around, I found only _one_ implementation of SourceFactory that
effectively does something useful in it's release() method, which is
Cocoon's SitemapSourceFactory.
All other implementations do _nothing_, leading to a lot of useless
lookups. Considering how much source-intensive Cocoon is, this may be
significant.
To avoid this, I'd like to propose a small change to the
SourceResolver.release() contract: if the Source implements Disposable,
then it's dispose() method is called, and otherwise the factory is
looked up as of today.
We then have to add empty dispose() methods to all source
implementations to benefit from the performance improvement.
How does that sound?
Sylvain
--
Sylvain Wallez Anyware Technologies
http://people.apache.org/~sylvain http://www.anyware-tech.com
Apache Software Foundation Member Research & Technology Director
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]