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
 Assigned to: Rich Feit 
     Fix For: V1


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

Reply via email to