[
https://issues.apache.org/jira/browse/WW-4874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16224391#comment-16224391
]
zhouyanming commented on WW-4874:
---------------------------------
[~yasser.zamani], You can modify DefaultActionInvocation directly and no need
to extend StrutsActionProxyFactory, My solution is to extend struts2 core not
to modify it.
> Asynchronous action method
> --------------------------
>
> Key: WW-4874
> URL: https://issues.apache.org/jira/browse/WW-4874
> Project: Struts 2
> Issue Type: New Feature
> Components: Core Actions, Dispatch Filter
> Reporter: Yasser Zamani
> Labels: action, asynchronous
> Fix For: 2.5.14
>
> Original Estimate: 1,344h
> Remaining Estimate: 1,344h
>
> User will be able to return {{java.util.concurrent.Callable<String>}} in
> their actions. Struts when sees such result, runs {{resultCode =
> result.call();}} in it's own managed thread pool but exits from servlet's
> main thread with a null result, i.e. gives back main thread to container and
> leaves response open for concurrent processing. When {{resultCode =
> result.call();}} returned, Struts calls
> {{javax.servlet.AsyncContext.dispatch()}} and {{resumes request processing}}
> within a container's thread servlet to generate the appropriate result for
> user according to {{resultCode}}.
> This adds better support for SLS (Short request processing, Long action
> execution, Short response processing) via Servlet 3's Async API.
> Support of other cases like SSL (e.g. a download server) or LLL(e.g. a video
> converter server) is still open.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)