You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2018/03/16 13:27:00 UTC

[jira] [Updated] (WW-4874) Asynchronous action method

     [ https://issues.apache.org/jira/browse/WW-4874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart updated WW-4874:
------------------------------
    Fix Version/s:     (was: 2.5.x)
                   2.6

> 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
>            Priority: Major
>              Labels: action, asynchronous
>             Fix For: 2.6
>
>   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
(v7.6.3#76005)