在Jaxrs (例如WebClient)中,我们可以设置连接超时和读取超时。
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秒内获得响应,或者直接放弃搜索。
发布于 2017-02-20 10:05:46
使用CXF无法为同时考虑连接和接收持续时间的请求设置最大超时。请求的最大超时时间为:
maximum_timeout = connection_timeout + receive_timeout
请参阅Apache HTTP client的类似问题。解决方法可能是在单独的线程中设置计时器,以便在所需的最大超时到期时中止连接
https://stackoverflow.com/questions/42327764
复制相似问题