[ 
https://issues.apache.org/jira/browse/LOG4J2-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663786#comment-13663786
 ] 

Ralph Goers commented on LOG4J2-223:
------------------------------------

1. JNDIContextSelector implements the NamedContextSelector interface. In 
theory, JNDIContextFilter can work on any NamedContextSelector so I guess it 
really should be named NamedContextFilter.
2. If the context isn't found in the ThreadLocal then JNDIContextSelector 
performs a JNDILookup to locate the context. Using the ThreadLocal avoids the 
need to do the JNDI lookup, which is much more expensive.
3. Both should work fine if they are used together. Log4jContextListener will 
get control during web app deployment and set the context as a ServletContext 
attribute. On each request JNDIContextFilter will get the context from the 
attribute and store it in a ThreadLocal.

Note that all the apps where I work run in JBoss 5, which doesn't support 
web-fragment.xml as far as I know. Also, I'd still like to know how to handle 
the two scenarios I asked about above.
                
> IllegalStateException thrown during Tomcat shutdown
> ---------------------------------------------------
>
>                 Key: LOG4J2-223
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-223
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-beta5
>            Reporter: Ralph Goers
>            Priority: Critical
>             Fix For: 2.0-beta7
>
>         Attachments: log4j-223.war
>
>
> {noformat}Apr 25, 2013 3:03:33 PM org.apache.catalina.core.StandardServer 
> await
> INFO: A valid shutdown command was received via the shutdown port. Stopping 
> the Server instance.
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol pause
> INFO: Pausing ProtocolHandler ["http-nio-8080"]
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol pause
> INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
> Apr 25, 2013 3:03:33 PM org.apache.catalina.core.StandardService stopInternal
> INFO: Stopping service Catalina
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol stop
> INFO: Stopping ProtocolHandler ["http-nio-8080"]
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol stop
> INFO: Stopping ProtocolHandler ["ajp-nio-8009"]
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol destroy
> INFO: Destroying ProtocolHandler ["http-nio-8080"]
> Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol destroy
> INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
> Apr 25, 2013 3:03:33 PM org.apache.catalina.loader.WebappClassLoader loadClass
> INFO: Illegal access: this web application instance has been stopped already. 
>  Could not load org.apache.logging.log4j.core.config.NullConfiguration.  The 
> eventual following stack trace is caused by an error thrown for debugging 
> purposes as well as to attempt to terminate the thread which caused the 
> illegal access, and has no functional impact.
> java.lang.IllegalStateException
>       at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1351)
>       at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310)
>       at 
> org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:171)
>       at 
> org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:389)
> Exception in thread "Thread-18" java.lang.NoClassDefFoundError: 
> org/apache/logging/log4j/core/config/NullConfiguration
>       at 
> org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:171)
>       at 
> org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:389)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.logging.log4j.core.config.NullConfiguration
>       at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465)
>       at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310)
>       ... 2 more{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to