Hi Veit,
I recall there was another update related to introducing a
TimeoutThread, the async conduit was ignoring the receiveTimeout for the
async calls.
Hi Freeman, looks like that change affected the use of the async conduit
for the sync calls (this would affect both JAXWS & JAXRS), can you
double check please
Thanks, Sergey
On 03/01/17 17:09, Veit Guna wrote:
Hi.
I just upgraded from 3.1.8 to 3.1.9 with the effect, that one of my
tests is failing now regarding the receiveTimeout set on HTTPClientPolicy.
I'm currently using CXF for JAX-RS client side proxy generation based on
my REST server interfaces. I'm also using the "use.async.http.conduit"
switch
to use the async http conduit.
The test is setting the receiveTimeout on the HTTPClientPolicy to 1 (ms)
like this:
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
...
MyService myService = bean.create(MyService.class);
ClientConfiguration clientConfig = WebClient.getConfig(myService);
clientConfig.getResponseContext().put("buffer.proxy.response",
cacheResponses);
clientConfig.getRequestContext().put("use.async.http.conduit", true);
HTTPClientPolicy clientPolicy = clientConfig.getHttpConduit().getClient();
cllientPolicy.setReceiveTimeout(receiveTimeoutMillis);
clientPolicy.setConnectionTimeout(connectionTimeoutMillis);
Then it calls a status REST endpoint and expects a ProcessingException
to be thrown. But this is never thrown and the call succeeds.
In the past it failed as expected. I also switched to another endpoint
that takes a bit longer to respond but with the same effect.
Going back to 3.1.8 fixes the issue.
I took a look at the recent changes and found this:
https://issues.apache.org/jira/browse/CXF-7122
Maybe it is related to it?
Thanks!
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/