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