[ http://issues.apache.org/jira/browse/BEEHIVE-878?page=all ] Rich Feit resolved BEEHIVE-878: -------------------------------
Resolution: Fixed Assign To: Alejandro Ramirez (was: Rich Feit) Fixed with revision 231086. > NetUI fails webapp redeploy if ServletContext attributes are carried over > ------------------------------------------------------------------------- > > Key: BEEHIVE-878 > URL: http://issues.apache.org/jira/browse/BEEHIVE-878 > Project: Beehive > Type: Bug > Components: NetUI > Versions: v1m1 > Environment: Tomcat 5.0.28 > Reporter: Rich Feit > Assignee: Alejandro Ramirez > Fix For: V1 > Attachments: MyListener.class, MyListener.java > > The attached webapp has a Servlet context listener which persists all > Serializable attributes to a file when the context is destroyed, and restores > those attributes when a new context is created. This allows context > attributes to be carried across webapp redeploys, which is possibly default > behavior under other Servlet containers (the spec doesn't speak to this). > Repro: > - Create a NetUI-enabled webapp. > - Drop the attached MyListener.class into WEB-INF/classes (I've also > attached MyListener.java, just for reference). > - Insert the following entry in web.xml, after the last <filter-mapping> > element: > <listener> > <listener-class>test.MyListener</listener-class> > </listener> > - Deploy the webapp, then redeploy it. One way to do this in the beehive > tree is: > ant -f {beehive home}/ant/tomcat-imports.xml redeploy > -Dcontext.path={your webapp context path} -Dwebapp.dir={your webapp dir} > -Dcatalina.username=manager -Dcatalina.password=manager > EXPECTED: the webapp is redeployed, and runs fine: > ACTUAL: the webapp deployment fails, with the following error in the logs: > java.lang.IllegalStateException: The NetUI runtime could not find the default > config file. The webapp may not function properly. > at > org.apache.beehive.netui.util.config.ConfigUtil.getConfig(ConfigUtil.java:180) > at > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.setupModuleConfigLocators(AutoRegisterActionServlet.java:115) > at > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.init(AutoRegisterActionServlet.java:99) > at > org.apache.beehive.netui.pageflow.PageFlowActionServlet.init(PageFlowActionServlet.java:138) > at javax.servlet.GenericServlet.init(GenericServlet.java:211) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4357) > at > org.apache.catalina.core.StandardContext.reload(StandardContext.java:3043) > at > org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:1014) > at > org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:330) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > at > org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) > at java.lang.Thread.run(Thread.java:595) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira