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 <kevan.mil...@gmail.com> On Jan 17, 2011, at 5:30 AM, xuhaih...@apache.org 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.