Cédric Couralet created WW-4362:
-----------------------------------

             Summary: ExecAndWait Interceptor with FileUploadInterceptor 
incompatibility
                 Key: WW-4362
                 URL: https://issues.apache.org/jira/browse/WW-4362
             Project: Struts 2
          Issue Type: Bug
          Components: Core Interceptors
    Affects Versions: 2.3.16.3
            Reporter: Cédric Couralet


When using execAndWait interceptor with FileUpload interceptor, the uploaded 
file is removed before processing.

*Steps to reproduce :*
On a sample project, add a simple action which expects a file and a struts.xml 
of the form :
{code:xml}
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd  ">
<struts>
        <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="true" />
        <constant name="struts.action.extension" value="," />
        <package name="accueil" namespace="/" extends="struts-default">
   <action name="">
         <result name="success">WEB-INF/jsp/accueil.jsp</result>
      </action>
                <action name="accueil">
                        <result name="success">WEB-INF/jsp/accueil.jsp</result>
                </action>
                <action name="simple" class="net.micedre.action.SimpleAction">
         <interceptor-ref name="executeAndWaitStack" />
     
                        <result name="error">WEB-INF/jsp/accueil.jsp</result>
                        <result name="success">WEB-INF/jsp/accueil.jsp</result>
         <result name="wait">WEB-INF/jsp/wait.jsp</result>
                </action>
        </package>
</struts>
{code}
In the case of the attached example, the uploaded file is deleted before any 
treatment by SimpleAction on it.

This is caused by the StrutsFilter which cleans up the request leading to a 
deletion (in the case of jakarta file-upload) before the 
BackgroundProcessThread created by the execAndWait interceptor runs (or during).






--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to