我们正在使用rest模板和HttPClient
构建器进行连接管理设置,如下所示。我们意识到连接请求连接超时是等待从连接池获得连接的时间,套接字超时(或读取超时)是两个连续数据包之间的最大周期不活动。除了实现基于线程的解决方案之外,有没有一种方法可以在特定时间后超时,而不管活动/非活动数据包。
代码:
public static RestTemplate getInstance(int connectionTimout,int readTimeout,int connectionPool) {
if (restTemplate == null) {
HttpComponentsClientHttpRequestFactory reqFactory = new HttpComponentsClientHttpRequestFactory();
reqFactory.setReadTimeout(readTimeout);
reqFactory.setConnectTimeout(connectionTimout);
HttpClient httpClient = HttpClientBuilder.create().setMaxConnTotal(connectionPool).build();
reqFactory.setHttpClient(httpClient);
restTemplate = new RestTemplate(reqFactory);
}
return restTemplate;
}