Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-4874

Asynchronous action method

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              yasserzamani Yasser Zamani
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 1,344h
                  1,344h
                  Remaining:
                  Remaining Estimate - 1,344h
                  1,344h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified