[ 
https://issues.apache.org/jira/browse/WW-4900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16289262#comment-16289262
 ] 

Hudson commented on WW-4900:
----------------------------

FAILURE: Integrated in Jenkins build Struts-master-JDK7 #70 (See 
[https://builds.apache.org/job/Struts-master-JDK7/70/])
WW-4900 Makes BackgroundProcess transient (yasserzamani: rev 
dda3facc265d4e1c3b1c60fa2bcc4240953ee35c)
* (add) 
core/src/test/java/org/apache/struts2/interceptor/BackgroundProcessTest.java
* (edit) 
core/src/test/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptorTest.java
* (edit) 
core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
* (edit) 
core/src/main/java/org/apache/struts2/interceptor/BackgroundProcess.java
WW-4900 Reverts BackgroundProcess access modifiers (yasserzamani: rev 
6b131550a649106766f45c83279b036544afc58c)
* (edit) 
core/src/main/java/org/apache/struts2/interceptor/BackgroundProcess.java
WW-4900 Fixes BackgroundProcessTest via synchronization (yasserzamani: rev 
a8ecd9bd297670b048dd3d12ee7211d4984db664)
* (edit) 
core/src/test/java/org/apache/struts2/interceptor/BackgroundProcessTest.java


> NotSerializableException: 
> com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector when using 
> ExecuteAndWait interceptor
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-4900
>                 URL: https://issues.apache.org/jira/browse/WW-4900
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.5.14.1
>            Reporter: Erica Kane
>            Assignee: Yasser Zamani
>             Fix For: 2.5.15
>
>
> We are running Struts 2.5.14.1 and working on externalizing Tomcat session 
> state. This requires Serializable sessions. However, our Action with the 
> ExecuteAndWait interceptor fails. Since our original code was quite complex I 
> wrote a simpler one below which demonstrates the exact same behavior.
> The simple action is shown here:
> {noformat}
> package com.sentrylink.web.actions;
> import java.util.concurrent.TimeUnit;
> import org.apache.struts2.convention.annotation.InterceptorRef;
> import org.apache.struts2.convention.annotation.InterceptorRefs;
> import org.apache.struts2.convention.annotation.Result;
> import org.apache.struts2.convention.annotation.Results;
> import com.opensymphony.xwork2.ActionSupport;
> @SuppressWarnings("serial")
> @Results({
>     @Result(name="wait", location="/"),
>     @Result(name=ActionSupport.SUCCESS, 
> location="/WEB-INF/content/messagePage.jsp"),
> })
> @InterceptorRefs({
>     @InterceptorRef("webStack"),
>     @InterceptorRef("execAndWait")
> })
> public class TestExecuteAndWait extends ActionSupport {
>     public String execute() throws Exception {
>         TimeUnit.SECONDS.sleep(10);
>         return SUCCESS;
>     }
> }
> {noformat}
> Running this gives
> {noformat}
> WARNING: Cannot serialize session attribute __execWaittest-execute-and-wait 
> for session 74CDB9F8D00BBC697030AFC6978E94F6 
> java.io.NotSerializableException: 
> com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector
> {noformat}
> Removing the ExecuteAndWait interceptor fixes the issue.
> According to [~yasser.zamani] in WW-4873 : I reviewed 
> {{ExecuteAndWaitInterceptor}} and seems has this bug when session goes to 
> being serialized in middle of an background process.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to