commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Voytenko, Dmytro" <>
Subject logging, TCCL JCL 1.0.5 alpha
Date Thu, 22 Dec 2005 00:32:51 GMT

I'm sorry for repeating the subject if it was discussed already, but I couldn't find an archive

This email is regarding numerous problems with JCL in multi-class-loader environments. This
seems to be a rather critical issue. I just got a chance to take a look into changes for JCL
1.0.5 currently in the alpha stage. Unfortunetely, these changes resolve a very small percent
of all the problems associated with TCCL. If I understand correctly changes mostly targeted
to make sure ClassLoaders are released, thus eliminating memory leaks related to hot deployment.
Other issues (arguably more critical) remain unresolved. 

One of the issues I often run into is confusion b/w web application and shared loggers in
the servlet container environment (Tomcat). Here's the small description of the situation:
There're two applications: app1 and app2. Both define logging configuration for outputing
into different files (logfile1 and logfile2). These two applications use shared library (shared.jar).
Classes in app1, app2 and shared.jar use JCL for logging. In this case the sequence is the
1) app1 is invoked first (for instance ServletInApp1)
2) code in app1 invokes class/method in the shared library (for instance SharedUtils.getInfo())
3) Log in the shared class (SharedUtils) is initialized using LogFactory for app1
4) At this point, any logs produced by SharedUtils will got to logfile1
5) app2 is invoked
6) code in app2 invokes the same SharedUtils
7) all logs in the SharedUtils still go to logfile1

Such a behaviour is rather confusing and basically jeopardizes any advantages of configuring
LogFactory-s for each TCCL. This also brings system into the uncertain state. If app1 is redeployed,
it's not clear what will happen to the SharedUtils.log, especially if LogFactory itself will
be weak-referenced (as in 1.0.5). 

These all problems could be resolved by simply disabling use of TCCL in the LogFactory. I
entered this request in the bug database while ago:

This problem seems to be rather critical to me, so I was wondering if you have other plans
to resolve these problems, or if you believe the solution described in the bug report is appropriate.
If you're persuing other ways to resolve the issue, could you please point me to the documents
or bug reports describing them? In either case, do you have information on when the fix could
be released?

Dimitry E Voytenko



Revere provides finance and business professionals with superior data and analytics on companies
traded publicly in the U.S. Our approach is based on precise classification and identification
of key business relationships. The Revere Complete product suite combines the Revere Research
analysis platform and the Revere RealTime market data application. Revere Complete integrates
comprehensive financial and market information - real-time quotes, sector and option analytics,
charts, news, fundamental data, and sophisticated screening - with unique content derived
from Revere's own independent research: 

- The Revere Hierarchy, a patented classification system that provides unmatched detail in
specifying a company's business activities and identifying exact competitors

- Revere Relationships, a database mapping a company to its key competitors, customers, suppliers,
and strategic partners

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message