[jboss-dev-forums] [Design of JBoss/Tomcat Integration] - Commons logging issues
scott.stark@jboss.org
do-not-reply at jboss.com
Mon May 14 15:29:39 EDT 2007
With the move to commons logging 1.1, there are incompatibilities showing up when users include older configurations that refer to the obsolete Log4jFactory class. The problem is the result of having container classes initialize their logging in the context of the web application class loader. A user facing this problem went through the exercise of statically initializing the Log instance by loading the Log instance of the following classes during the tomcat deployer startup with its class loader established:
| org.apache.jasper.compiler.Compiler
| org.apache.catalina.core.ContainerBase
| org.apache.tomcat.util.digester.Digester
| org.apache.jasper.EmbeddedServletOptions
| org.apache.jasper.compiler.JDTCompiler
| org.apache.jasper.JspCompilationContext
| org.apache.jasper.compiler.JspConfig
| org.apache.jasper.compiler.JspReader
| org.apache.jasper.compiler.JspRuntimeContext
| org.apache.jasper.servlet.JspServlet
| org.apache.jasper.servlet.JspServletWrapper
| org.apache.catalina.session.ManagerBase
| org.apache.jasper.compiler.SmapUtil
| org.apache.catalina.core.StandardContext
| org.apache.catalina.session.StandardManager
| org.apache.jasper.compiler.TldLocationsCache
| org.apache.jasper.xmlparser.UTF8Reader
|
The problem with allowing for lazy initialization in the context of a web app class loader is the use of the TCL logic. Finding web app commons-logging.properties referring to the older older commons logging classes from a LogFactory that has been loaded by the tomcat deployer service class loader is what is causing the problem.
Obfuscating the commons logging classes under an org.jboss.apache.* prefix won't help either as the commons-logging.properties still ends up conflicting. We need to fix the web container logging to the embedding code class loader. The question is whether this is a general change that should be introduced into the tomcat codebase (or jbossweb) rather than something that is done on top.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045585#4045585
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045585
More information about the jboss-dev-forums
mailing list