I started looking into an exception that occurs when using the console
to shutdown the 2.2.1 jetty version of the server. At first, I thought
this was caused by the upgrade from jetty 7.0.0 to 7.2.0, but as I dug
deeper into this, I realized this problem should also be occurring with
7.0.0 as well. This was confirmed by rolling back to the previous
version. This exception occurs because we have lifecycle listeners that
attempt to update the servlet listener lists. This appears to trigger
jetty to reinitialize all of the servlets but it appears the classloader
is not correct, which results in the error. Since things are in the
process of stopping at this point, it seems wrong that this should be
happening. Here's the exception info, but I'm not really sure what the
appropriate fix should be for this.
Rick
java.lang.ClassNotFoundException:
org.apache.geronimo.console.ejbserver.EJBServe
rPortlet in classloader
org.apache.geronimo.plugins/console-jetty_base-portlets.
war/2.2.1-SNAPSHOT/car
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimize
dClass(MultiParentClassLoader.java:407)
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(Mu
ltiParentClassLoader.java:257)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.pluto.core.PortletServlet.init(PortletServlet.java:110)
at javax.servlet.GenericServlet.init(GenericServlet.java:215)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.jav
a:421)
at
org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:24
5)
at
org.apache.geronimo.jetty7.GeronimoServletHolder.doStart(GeronimoServ
letHolder.java:66)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.ja
va:694)
at
org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandle
r.java:1078)
at
org.eclipse.jetty.servlet.ServletHandler.setFilterMappings(ServletHan
dler.java:1113)
at
org.apache.geronimo.jetty7.JettyFilterMapping.resetJettyFilterMapping
s(JettyFilterMapping.java:118)
at
org.apache.geronimo.jetty7.JettyFilterMapping.access$100(JettyFilterM
apping.java:38)
at
org.apache.geronimo.jetty7.JettyFilterMapping$1.memberRemoved(JettyFi
lterMapping.java:102)
at
org.apache.geronimo.gbean.runtime.ProxyCollection.removeTarget(ProxyC
ollection.java:129)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference.targetRemo
ved(GBeanCollectionReference.java:103)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference.removeTarg
et(GBeanCollectionReference.java:187)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference$1.stopping
(GBeanCollectionReference.java:114)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireStoppingEv
ent(BasicLifecycleMonitor.java:187)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$400(Bas
icLifecycleMonitor.java:44)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBr
oadcaster.fireStoppingEvent(BasicLifecycleMonitor.java:257)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstan
ceState.java:168)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.ja
va:547)
at
org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.ja
va:421)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstan
ceState.java:181)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.ja
va:547)
at
org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.ja
va:421)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager$Shutdown
Hook.run(KernelConfigurationManager.java:339)
at
org.apache.geronimo.kernel.basic.BasicKernel.notifyShutdownHooks(Basi
cKernel.java:661)
at
org.apache.geronimo.kernel.basic.BasicKernel.shutdown(BasicKernel.jav
a:638)
at
org.apache.geronimo.console.servermanager.ServerManagerPortlet.proces
sAction(ServerManagerPortlet.java:65)
at
org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218
)
at
org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530
)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
:426)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:495)
at
org.apache.geronimo.jetty7.handler.JaccSecurityHandler.handle(JaccSec
urityHandler.java:89)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler
.java:179)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
er.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
361)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
r.java:864)
at
org.apache.geronimo.jetty7.handler.GeronimoWebAppContext.doScope(Gero
nimoWebAppContext.java:107)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:116)
at org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:189)
at
org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPort
letInvokerService.java:167)
at
org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPort
letInvokerService.java:85)
at
org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerI
mpl.java:217)
at
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet
.java:121)
at
org.apache.pluto.driver.PortalDriverServlet.doPost(PortalDriverServle
t.java:167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530
)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1211)
at
org.apache.geronimo.console.filter.RedirectByHashFilter.doFilter(Redi
rectByHashFilter.java:116)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.apache.geronimo.console.filter.PlutoURLRebuildFilter.doFilter(Plu
toURLRebuildFilter.java:48)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.apache.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilt
er.java:130)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
:424)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:447)
at
org.apache.geronimo.jetty7.handler.JaccSecurityHandler.handle(JaccSec
urityHandler.java:89)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler
.java:179)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
er.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
361)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
r.java:864)
at
org.apache.geronimo.jetty7.handler.GeronimoWebAppContext.doScope(Gero
nimoWebAppContext.java:107)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:116)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Cont
extHandlerCollection.java:243)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColl
ection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
.java:112)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
java:552)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
nnection.java:993)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:739)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:39
9)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPo
int.java:437)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(Th
readPool.java:344)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:619)
2010-10-27 13:37:22,240 WARN [EJB Server Portlet] unavailable
java.lang.ClassNotFoundException:
org.apache.geronimo.console.ejbserver.EJBServe
rPortlet in classloader
org.apache.geronimo.plugins/console-jetty_base-portlets.
war/2.2.1-SNAPSHOT/car
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimize
dClass(MultiParentClassLoader.java:407)
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(Mu
ltiParentClassLoader.java:257)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.pluto.core.PortletServlet.init(PortletServlet.java:110)
at javax.servlet.GenericServlet.init(GenericServlet.java:215)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.jav
a:421)
at
org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:24
5)
at
org.apache.geronimo.jetty7.GeronimoServletHolder.doStart(GeronimoServ
letHolder.java:66)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:55)
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.ja
va:694)
at
org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandle
r.java:1078)
at
org.eclipse.jetty.servlet.ServletHandler.setFilterMappings(ServletHan
dler.java:1113)
at
org.apache.geronimo.jetty7.JettyFilterMapping.resetJettyFilterMapping
s(JettyFilterMapping.java:118)
at
org.apache.geronimo.jetty7.JettyFilterMapping.access$100(JettyFilterM
apping.java:38)
at
org.apache.geronimo.jetty7.JettyFilterMapping$1.memberRemoved(JettyFi
lterMapping.java:102)
at
org.apache.geronimo.gbean.runtime.ProxyCollection.removeTarget(ProxyC
ollection.java:129)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference.targetRemo
ved(GBeanCollectionReference.java:103)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference.removeTarg
et(GBeanCollectionReference.java:187)
at
org.apache.geronimo.gbean.runtime.GBeanCollectionReference$1.stopping
(GBeanCollectionReference.java:114)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireStoppingEv
ent(BasicLifecycleMonitor.java:187)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$400(Bas
icLifecycleMonitor.java:44)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBr
oadcaster.fireStoppingEvent(BasicLifecycleMonitor.java:257)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstan
ceState.java:168)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.ja
va:547)
at
org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.ja
va:421)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstan
ceState.java:181)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.ja
va:547)
at
org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.ja
va:421)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager$Shutdown
Hook.run(KernelConfigurationManager.java:339)
at
org.apache.geronimo.kernel.basic.BasicKernel.notifyShutdownHooks(Basi
cKernel.java:661)
at
org.apache.geronimo.kernel.basic.BasicKernel.shutdown(BasicKernel.jav
a:638)
at
org.apache.geronimo.console.servermanager.ServerManagerPortlet.proces
sAction(ServerManagerPortlet.java:65)
at
org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218
)
at
org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530
)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
:426)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:495)
at
org.apache.geronimo.jetty7.handler.JaccSecurityHandler.handle(JaccSec
urityHandler.java:89)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler
.java:179)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
er.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
361)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
r.java:864)
at
org.apache.geronimo.jetty7.handler.GeronimoWebAppContext.doScope(Gero
nimoWebAppContext.java:107)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:116)
at org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:189)
at
org.apache.pluto.core.DefaultPortletInvokerService.invoke(DefaultPort
letInvokerService.java:167)
at
org.apache.pluto.core.DefaultPortletInvokerService.action(DefaultPort
letInvokerService.java:85)
at
org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerI
mpl.java:217)
at
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet
.java:121)
at
org.apache.pluto.driver.PortalDriverServlet.doPost(PortalDriverServle
t.java:167)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530
)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1211)
at
org.apache.geronimo.console.filter.RedirectByHashFilter.doFilter(Redi
rectByHashFilter.java:116)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.apache.geronimo.console.filter.PlutoURLRebuildFilter.doFilter(Plu
toURLRebuildFilter.java:48)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.apache.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilt
er.java:130)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1182)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
:424)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:447)
at
org.apache.geronimo.jetty7.handler.JaccSecurityHandler.handle(JaccSec
urityHandler.java:89)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler
.java:179)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
er.java:930)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
361)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
r.java:864)
at
org.apache.geronimo.jetty7.handler.GeronimoWebAppContext.doScope(Gero
nimoWebAppContext.java:107)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:116)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Cont
extHandlerCollection.java:243)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColl
ection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
.java:112)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
java:552)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
nnection.java:993)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:739)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:39
9)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPo
int.java:437)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(Th
readPool.java:344)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:619)
log4j:WARN No appenders could be found for logger
(org.eclipse.jetty.util.log).
log4j:WARN Please initialize the log4j system properly.