簡體   English   中英

使用CXF將超時設置為JAX-RS客戶端

[英]Set timeout to JAX-RS client with CXF

我需要為以下客戶端或配置設置自定義超時:

import org.apache.cxf.jaxrs.client.Client;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.jaxrs.client.ClientConfiguration;

Client client = WebClient.client(api);
ClientConfiguration config = WebClient.getConfig(client);

我讀了這篇文章 ,尤其是這篇文章,但是在我的對象中找不到那些建議的屬性或方法。 我寧願不更改對象類型。

導入org.apache.cxf.transport.http.HTTPConduit;

導入org.apache.cxf.transports.http.configuration.HTTPClientPolicy;

客戶端客戶端= WebClient.client(api);

HTTPConduit http =(HTTPConduit)client.getConduit();

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); httpClientPolicy.setConnectionTimeout(0);

httpClientPolicy.setReceiveTimeout(0);

http.setClient(httpClientPolicy);

我需要將其添加到之前發布的代碼中:

HTTPConduit conduit = config.getHttpConduit();
conduit.getClient().setReceiveTimeout(150000);
//conduit.getClient().setConnectionTimeout(120000);

而且有效。 我只需要設置接收超時,但是連接超時設置也可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM