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

              • Assignee:
                Unassigned
                Reporter:
                yasser.zamani Yasser Zamani
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Time Tracking

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