Jaxrs 设置全局超时的能力(连接+读取)
Jaxrs ability to set a global timeout (connect + read)
在 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 秒内得到响应或者只是放弃搜索。
CXF 无法为同时考虑连接和接收持续时间的请求设置最大超时。请求的最大超时将为:
maximum_timeout = connection_timeout + receive_timeout
请参阅 的类似问题。解决方法可能是在单独的线程中设置一个计时器,以在所需的最大超时到期时中止连接
在 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 秒内得到响应或者只是放弃搜索。
CXF 无法为同时考虑连接和接收持续时间的请求设置最大超时。请求的最大超时将为:
maximum_timeout = connection_timeout + receive_timeout
请参阅 的类似问题。解决方法可能是在单独的线程中设置一个计时器,以在所需的最大超时到期时中止连接