Hi,
I'm using TomEE 8 with CXF and have not been able to get the rx() client
pattern with CompletionStage to utilise the Apache non-blocking HTTP
Client. With the old .async() pattern and Futures it does use the async
client
I've created a simple app outside of TomEE and have the same behavior. Here
is a basic example:
Client client = ClientBuilder.newBuilder().build();
WebTarget target = client.target("http://www.simplesite.com/");
Invocation.Builder builder = target.request();
// THIS CALL USES sun.net.www.protocol.http.HttpURLConnection
CompletableFuture.allOf(builder.rx().get(String.class).thenAccept(res ->
System.out.println(res.length())).toCompletableFuture()).join();
client = ClientBuilder.newBuilder().build();
target = client.target("http://www.simplesite.com/");
builder = target.request();
String res;
try {
// THIS CALL USES cxf-rt-transports-http-hc
res = builder.async().get(String.class).get();
System.out.println(res.length());
} catch (Exception ex) {
}
I use stack traces at runtime to see which version is being used.
Is it possible to use the non-blocking HTTP client with the reactive client?
I need this as I want to create a purely non-blocking server where the
JAX-RS server is non-blocking (I have this working) and then if the server
does client calls to subsequent external rest services then these are also
non-blocking. The combination would allow for a server that does rest
orchestration without a thread being used for every inflight request.
Thanks
Paul
Disclaimer: This message and/or attachment(s) may contain
privileged, confidential and/or personal information. If you are not the
intended recipient you may not disclose or distribute any of
the information contained within this message. In such case you must
destroy this message and inform the sender of the error. Jini Guru may not
accept liability for any errors, omissions, information and viruses
contained in the transmission of this message. Any opinions, conclusions
and other information contained within this message not related to Jini
Guru official business is deemed to be that of the individual only and is
not endorsed by Jini Guru.