Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-8239

Why AutomaticWorkQueue is used when providing an executor on asynchronous case

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Information Provided
    • Affects Version/s: 3.3.5
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      When looking on introducing a dedicated Executor when performing asynchronous calls, we see that in the HttpConduit#WrappedOutputStream base class, when the handleResponseOnWorkqueue method is called, which seem to be the method call on all conduit implementations (synchronous URLConnectionHTTPConduit and AsyncHTTPConduit) when handling the response of asynchronous calls, if the forceWQ flag is used, even if we have set a dedicated TaskExecutor, we will still execute something in the Workqueue. So far with the name of the variable it makes sense, but why forcing it in case of async replies on the  AsyncHTTPConduit#setHttpResponse ? This forces us to execute the call to our executor in the work queue thread instead of directly in the I/O dispatcher thread.

       

      Thanks for feedback!

      Baptiste

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              baiglin Baptiste AIGLIN
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: