1
在Jaxrs(例如WebClient)中,我们可以设置连接超时和读取超时。Jaxrs设置全局超时的能力(连接+读取)
ClientConfiguration c = WebClient.getConfig(client);
HTTPConduit http = c.getHttpConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(timeout);
httpClientPolicy.setReceiveTimeout(timeout);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
我想设置的超时包括,我真的不关心有多少时间在连接或接收度过的,我的要求是让在X秒的响应或只是放弃搜索。
也许通过拦截器?,但我不知道它是否可行 – cocorossello
我已阅读过'WebClient' javadoc和它是不可能放弃当前请求的,所以它不可能使用拦截器,因为它将在主要请求(和主线程被阻塞,直到响应/定时)的同一线程中执行。在这两种情况下,您都需要创建具有超时的额外监控线程并进行异步工作:超时或正确响应。考虑是否值得... – pedrofb