我正在使用Spring 4.0.3.RELEASE版本。我能够成功地打电话。但是,我了解到HTTP连接很昂贵,并且想到使用连接池。我读了几篇文章,如this和this。当我用Maven3包含依赖和编译时,一切都很好。运行时出现问题。 通过此代码,我得到了类未发现的异常PoolingHttpClientConnectionManager。为RestTemplate设置Http连接池时出现Websphere问题
public RestTemplate restTemplate(){
HttpHost host = new HttpHost("localhost", 9081);
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
// Increase max total connection to 200
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(50);
cm.setMaxPerRoute(new HttpRoute(host), 20);
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create().setConnectionManager(cm);
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
httpClientBuilder.build());
return new RestTemplate(requestFactory);
}
有了这个代码,我得到HttpClients类未发现异常。
public RestTemplate restTemplate(){
RestTemplate restTemplate = new RestTemplate();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(20000);
requestFactory.setReadTimeout(20000);
restTemplate.setRequestFactory(requestFactory);
return restTemplate;
}
我正在部署Websphere 8.5。我尝试了不同版本的httpclient从4.0.1到4.5.2,不同的范围(提供,编译)没有运气。 提前感谢您提供正确方向的任何提示。
这不是正确的方法。正如标记的答案中所述,共享库方法是引用与Websphere容器库不同的jar的正确方法。 –