具有RESTful Web服务的CXF异步客户端

问题描述 投票:1回答:1

我有一个使用CXF与宁静的Web服务进行交互的客户端。我想从2.7.0开始使用CXF提供的异步模式http://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/client/WebClient.html。我还没有真正找到使用此功能的客户的好例子]

以前我有做过这样的事情的代码

Response response = webclient.get();

更新后的代码:

Future<Response> responseFuture = webclient.async().get();
// code to get future response ...

我的问题:

  • 这是我所要做的,客户端行为将如何改变?我的理解是,以前它会为每个客户端请求创建一个单独的线程。现在它将使用单个线程或线程池执行多个请求?

  • 而且,对于我来说,在两种不同情况下,在后台监视它在做什么的最佳方法是什么?

java rest cxf jax-rs
1个回答
1
投票

是,不是。

这就是您在代码中需要做的,是的。但是,默认情况下,CXF仍将使用HttpURLConnection对象,该对象每个请求都需要一个专用线程。因此,在幕后,它将为此使用CXF的线程池。

但是,您可以添加CXF基于异步的传输(请参阅http://cxf.apache.org/docs/asynchronous-client-http-transport.html,这将允许使用很少的线程来处理数百个未完成的请求。

© www.soinside.com 2019 - 2024. All rights reserved.