Carsten Ziegeler wrote:
Vadim Gritsenko wrote:
Torsten Curdt wrote:
On 28.03.2007, at 20:14, Vadim Gritsenko wrote:
[EMAIL PROTECTED] wrote:
-public class CacheImpl
-extends AbstractLogEnabled
-implements Cache, ThreadSafe, Serviceable, Disposable,
Parameterizable {
+public class CacheImpl implements Cache {
+ private Log logger = LogFactory.getLog(getClass());
Is there a reason why logger can not be static?
http://wiki.apache.org/jakarta-commons/Logging/StaticLog
So since Cocoon is not and should not be deployed in container's shared class
loader, usage of 'static' is preferred.
Hmm, why do you think "is not and should not"? Why not (I'm talking
about 2.2+ here)?
Last I checked, and since 2.2, it is impossible (or just really hard?) to start
up cocoon without servlet context and related objects, which means it gotta be
deployed and started as part of the webapp. If that is the case, IMHO there is
no good reason to have it as part of the shared classloader.
In addition, with 2.2+ we provide separate artifacts for "common"
components which might be used outside of Cocoon and might then be used
via a shared class loader. So I think we should not use "static" here.
For reusable components - yes, I agree.
As most of our components are singletons anyway, there isn't any memory
problem here.
There are some generated poolable wrappers, IIRC - those aren't singletons and
do represent good chunk of components (pipelines and all direct sitemap components).
Vadim