[ https://issues.apache.org/jira/browse/GERONIMO-6332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281363#comment-13281363
]
Forrest Xia commented on GERONIMO-6332:
---------------------------------------
xiezhi, thank you for this patch, however, have you done any testing with this patch?
> Web context root allow to be duplicated
> ---------------------------------------
>
> Key: GERONIMO-6332
> URL: https://issues.apache.org/jira/browse/GERONIMO-6332
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: deployment
> Affects Versions: 3.0-beta-1
> Reporter: xiezhi
> Priority: Minor
> Labels: context, deploy,deployment
> Attachments: TomcatContainer.java.patch
>
>
> I deployed an application without version definition in geronimo-web.xml twice. Found
they can both run in the server with the same URL context. But there is an exception in the
server log
> 2012-04-20 16:20:26,598 WARN [LifecycleMBeanBase] Failed to unregister MBean with name
[Catalina:j2eeType=WebModule,name=//0.0.0.0/cviewer,J2EEApplic
> ation=null,J2EEServer=geronimo] during component destruction
> javax.management.InstanceNotFoundException: Catalina:j2eeType=WebModule,name=//0.0.0.0/cviewer,J2EEApplication=null,J2EEServer=geronimo
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1106)
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:427)
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:415)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:518)
> at org.apache.catalina.util.LifecycleMBeanBase.unregister(LifecycleMBeanBase.java:194)
> at org.apache.catalina.util.LifecycleMBeanBase.destroyInternal(LifecycleMBeanBase.java:73)
> at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1114)
> at org.apache.catalina.core.StandardContext.destroyInternal(StandardContext.java:5616)
> at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:284)
> at org.apache.geronimo.tomcat.GeronimoStandardContext.kill(GeronimoStandardContext.java:484)
> at org.apache.geronimo.tomcat.TomcatContainer.removeContext(TomcatContainer.java:330)
> at org.apache.geronimo.tomcat.TomcatWebAppContext.doStop(TomcatWebAppContext.java:597)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.destroyInstance(GBeanInstance.java:1191)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStop(GBeanInstanceState.java:346)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:191)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:577)
> at org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:430)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:183)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:577)
> at org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:430)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:183)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:577)
> at org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:430)
> at org.apache.geronimo.kernel.config.KernelConfigurationManager.stopRecursive(KernelConfigurationManager.java:263)
> at org.apache.geronimo.kernel.config.KernelConfigurationManager.stop(KernelConfigurationManager.java:243)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.stopConfiguration(SimpleConfigurationManager.java:745)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.stopConfiguration(SimpleConfigurationManager.java:729)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.uninstallConfiguration(SimpleConfigurationManager.java:1410)
> at org.apache.geronimo.console.configmanager.ConfigManagerPortlet.processAction(ConfigManagerPortlet.java:180)
> at org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:117)
> at org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:84)
> at org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:112)
> at org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:359)
> at org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
> at org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
> at org.apache.pluto.driver.container.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:101)
> at org.apache.pluto.container.impl.PortletContainerImpl.doAction(PortletContainerImpl.java:251)
> at org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:135)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.geronimo.console.filter.RedirectByHashFilter.doFilter(RedirectByHashFilter.java:116)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.geronimo.console.filter.PlutoURLRebuildFilter.doFilter(PlutoURLRebuildFilter.java:48)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilter.java:130)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.geronimo.tomcat.security.SecurityValve.invoke(SecurityValve.java:87)
> at org.apache.geronimo.tomcat.security.jacc.JACCSecurityValve.invoke(JACCSecurityValve.java:54)
> at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:850)
> at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:48)
> at org.apache.geronimo.tomcat.valve.ProtectedTargetValve.invoke(ProtectedTargetValve.java:53)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:851)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:278)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
> at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:243)
> at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:373)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
> at java.lang.Thread.run(Thread.java:736)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira