我正在使用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的正確方法。 –