[英]CXF asynchronous client with RESTful web service
我有一個客戶端,它使用 CXF 與一個安靜的 Web 服務交互。 我想使用 CXF 自 2.7.0 以來提供的異步模式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 ...
我的問題:
這就是我需要做的全部,客戶行為將如何改變? 我的理解是以前它會為每個客戶端請求創建一個單獨的線程。 現在它將使用單個線程或線程池執行多個請求?
另外,在兩種不同的情況下,我監視它在后台做什么的最佳方法是什么?
嗯,是和不是。
這就是您在代碼中需要做的一切,是的。 但是,默認情況下,CXF 仍將使用 HttpURLConnection 對象,該對象每個請求都需要一個專用線程。 因此,在幕后,它將為此使用 CXF 的線程池。
但是,您可以添加 CXF 的基於異步的傳輸(請參閱http://cxf.apache.org/docs/asynchronous-client-http-transport.html ),這將允許使用很少的線程進行數百個未完成的請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.