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.

Reply via email to