You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Yue Fang (Jira)" <ji...@apache.org> on 2020/03/12 16:13:00 UTC

[jira] [Closed] (CXF-8239) Why AutomaticWorkQueue is used when providing an executor on asynchronous case

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

Freeman Yue Fang closed CXF-8239.
---------------------------------
    Resolution: Information Provided

> Why AutomaticWorkQueue is used when providing an executor on asynchronous case
> ------------------------------------------------------------------------------
>
>                 Key: CXF-8239
>                 URL: https://issues.apache.org/jira/browse/CXF-8239
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.3.5
>            Reporter: Baptiste AIGLIN
>            Priority: Major
>
> 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



--
This message was sent by Atlassian Jira
(v8.3.4#803005)