New Thread is used for context initialization in Tomcat 7.0.6
-------------------------------------------------------------
Key: GERONIMO-5759
URL: https://issues.apache.org/jira/browse/GERONIMO-5759
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: Tomcat
Affects Versions: 3.0
Reporter: Ivan
Assignee: Ivan
2011/1/18 Kevan Miller <[email protected]>
On Jan 17, 2011, at 5:30 AM, [email protected] wrote:
> Author: xuhaihong
> Date: Mon Jan 17 10:30:34 2011
> New Revision: 1059851
>
> URL: http://svn.apache.org/viewvc?rev=1059851&view=rev
> Log:
> use tomcat 7.0.6.0-SNAPSHOT
Tomcat 7.0.6 is going to require some work to integrate properly. At the
moment, we're going to see errors like the following:
2011-01-17 17:35:34,915 ERROR [[/jsp21]] Exception sending context
initialized event to listener instance of class
org.apache.geronimo.openwebbeans.WebBeansConfigurationListener
java.lang.IllegalStateException: On a thread without an initialized context
at
org.apache.geronimo.openwebbeans.GeronimoSingletonService.getContext(GeronimoSingletonService.java:62)
at
org.apache.geronimo.openwebbeans.GeronimoSingletonService.get(GeronimoSingletonService.java:56)
at
org.apache.geronimo.openwebbeans.GeronimoSingletonService.get(GeronimoSingletonService.java:31)
at
org.apache.webbeans.config.WebBeansFinder.getSingletonInstance(WebBeansFinder.java:52)
at
org.apache.webbeans.config.WebBeansContext.getInstance(WebBeansContext.java:114)
at
org.apache.geronimo.openwebbeans.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:78)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4521)
at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5004)
at
org.apache.catalina.core.StandardContext$1.call(StandardContext.java:4999)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Tomcat's new ClassLoader MemoryLeak avoidance code is using a temporary
thread to configure/initialize the event listeners for the Context. So, things
like JNDI and OpenWebBeans aren't going to work.
There isn't a switch that can control this Tomcat behavior. Nor do I see
anyway to hook into the Tomcat processing to hook into this processing. Our
best hope would be to add some additional integration code in our externals
code and work on pushing this into Tomcat.
--kevan
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.