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.

Reply via email to