Michael Wins created CXF-8955:
---------------------------------
Summary: Custom timeout with Message.RECEIVE_TIMEOUT not working
with hc5
Key: CXF-8955
URL: https://issues.apache.org/jira/browse/CXF-8955
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 4.0.3
Environment: Fedora 36, Java 17, cxf 4.0.2
Reporter: Michael Wins
Attachments: cxf_timeout_bug.tar-2.gz
Hi, I am trying to set custom read timeouts for WS operations in an interceptor:
{code:java}
public class CustomReadTimeoutInterceptor extends
AbstractPhaseInterceptor<Message> {
...
@Override
public void handleMessage(Message message) {
message.put(Message.RECEIVE_TIMEOUT, timeoutMillis);
}
...{code}
That works will when using the JDK http client, but it does NOT work with the
hc5 async client.
It looks like requests issued in parallel affect each others timeout settings.
Download the attached sample project, which contains a
CustomReadTimeoutInterceptor and starts two requests in parallel with different
timeouts (4 and 2 seconds).
Execute both
{code:java}
mvn
{code}
and
{code:java}
mvn -DuseAsync
{code}
and compare the output. The output of the first will be like
{code:java}
CLIENT[19]: Duration: 2010 millis
CLIENT[29]: Duration: 4211 millis{code}
(which is as expected) whereas the second - using hc5 async - will result in
{code:java}
CLIENT[29]: Duration: 4269 millis
CLIENT[19]: Duration: 4012 millis{code}
Now I am wondering if my code is somehow incorrect or if it is cxf's fault...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)