You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Kevan Miller <ke...@gmail.com> on 2011/01/18 02:42:12 UTC

Re: svn commit: r1059851 - in /geronimo/server/branches/3.0-M2: ./ plugins/j2ee/j2ee-deployer/src/main/history/ plugins/jasper/geronimo-jasper/src/main/java/org/apache/geronimo/jasper/ plugins/openejb/openejb/src/main/history/ plugins/tomcat/geronimo-tomca...

On Jan 17, 2011, at 5:30 AM, xuhaihong@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