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

时间:2013-11-07 20:57:13

标签: java rest cxf jax-rs

我有一个客户端使用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 ...

我的问题:

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

  • 另外,在两种不同的情况下,我最好的方法是监控后台正在做什么?

1 个答案:

答案 0 :(得分:1)

嗯,是的,没有。

这就是你需要在代码中做的所有事情,是的。但是,默认情况下,CXF仍将使用HttpURLConnection对象,该对象需要每个请求一个专用线程。因此,在封面下,它将使用CXF的线程池。

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

相关问题