I’m upgrading from 4.5.2 to 7.0.3. Now my ServletContextListeners (which are
declared in web.xml) are being started twice.
I’ve forced a stacktrace inside the ServletContextListener (they all have a
superclass of AbstractDaemon) and I see that:
- call 1 is from OpenEJB’s LightweightWebAppBuilder, and
- call 2 is from Jetty’s ContextHandler.
I think call 1 is a new thing since 4.6. Is there a Java EE 6 thing going on
here? Do I need to turn off something in my ageing Jetty 6.1.24?
Call 1:
java.lang.IllegalStateException: Temporary, to help debug OpenEJB upgrade.
Repeating Bookings Populater
at
com.goxpro.xpro.web.daemons.AbstractDaemon.contextInitialized(AbstractDaemon.java:51)
at
org.apache.openejb.web.LightweightWebAppBuilder$1.run(LightweightWebAppBuilder.java:191)
at
org.apache.openejb.web.LightweightWebAppBuilder.switchServletContextIfNeeded(LightweightWebAppBuilder.java:399)
at
org.apache.openejb.web.LightweightWebAppBuilder.deployWebApps(LightweightWebAppBuilder.java:188)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:997)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:718)
at
org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:596)
at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:484)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:150)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:66)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:307)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
at
org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:99)
at
org.apache.openejb.core.LocalInitialContextFactory.init(LocalInitialContextFactory.java:63)
at
org.apache.openejb.core.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:47)
at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.init(InitialContext.java:244)
at javax.naming.InitialContext.<init>(InitialContext.java:192)
at org.mortbay.jetty.plus.naming.NamingEntry.save(NamingEntry.java:191)
at org.mortbay.jetty.plus.naming.NamingEntry.<init>(NamingEntry.java:58)
at org.mortbay.jetty.plus.naming.EnvEntry.<init>(EnvEntry.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.mortbay.xml.XmlConfiguration.newObj(XmlConfiguration.java:608)
at org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:256)
at org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:214)
at
org.mortbay.jetty.deployer.ContextDeployer.createContext(ContextDeployer.java:369)
at
org.mortbay.jetty.deployer.ContextDeployer.deploy(ContextDeployer.java:263)
at
org.mortbay.jetty.deployer.ContextDeployer.access$000(ContextDeployer.java:67)
at
org.mortbay.jetty.deployer.ContextDeployer$ScannerListener.fileAdded(ContextDeployer.java:89)
at org.mortbay.util.Scanner.reportAddition(Scanner.java:410)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:324)
at org.mortbay.util.Scanner.scan(Scanner.java:280)
at
org.mortbay.jetty.deployer.ContextDeployer.doStart(ContextDeployer.java:327)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:201)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.goxpro.xpro.web.RunJetty.main(RunJetty.java:84)
WARN [main] (AbstractDaemon.java:58) - Before schedule Repeating Bookings
Populater
WARN [main] (AbstractDaemon.java:60) - After schedule Repeating Bookings
Populater
Call 2:
java.lang.IllegalStateException: Temporary, to help debug OpenEJB upgrade.
Repeating Bookings Populater
at
com.goxpro.xpro.web.daemons.AbstractDaemon.contextInitialized(AbstractDaemon.java:51)
at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.goxpro.xpro.web.RunJetty.main(RunJetty.java:84)
WARN [main] (AbstractDaemon.java:58) - Before schedule Repeating Bookings
Populater
WARN [main] (AbstractDaemon.java:60) - After schedule Repeating Bookings
Populater
Geoff