Repository: marmotta Updated Branches: refs/heads/develop bf7ee37eb -> 27750cd74
removed the usage of deprecated interfaces in httpclient Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/0ed4572b Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/0ed4572b Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/0ed4572b Branch: refs/heads/develop Commit: 0ed4572bc51e52669db33d9bd0976d98b5019cc8 Parents: bf7ee37 Author: Sergio Fernández <[email protected]> Authored: Fri Oct 31 10:54:39 2014 +0100 Committer: Sergio Fernández <[email protected]> Committed: Fri Oct 31 10:54:39 2014 +0100 ---------------------------------------------------------------------- .../marmotta/client/ClientConfiguration.java | 8 +-- .../apache/marmotta/client/util/HTTPUtil.java | 51 +++++++++++--------- 2 files changed, 32 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/0ed4572b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/ClientConfiguration.java ---------------------------------------------------------------------- diff --git a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/ClientConfiguration.java b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/ClientConfiguration.java index 57ea4c3..41f9a5a 100644 --- a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/ClientConfiguration.java +++ b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/ClientConfiguration.java @@ -17,7 +17,7 @@ */ package org.apache.marmotta.client; -import org.apache.http.conn.ClientConnectionManager; +import org.apache.http.conn.HttpClientConnectionManager; /** * Add file description here! @@ -58,7 +58,7 @@ public class ClientConfiguration { */ private int connectionTimeout = 10000; - private ClientConnectionManager conectionManager; + private HttpClientConnectionManager conectionManager; public ClientConfiguration(String marmottaUri) { if (marmottaUri.endsWith("/")) { @@ -122,11 +122,11 @@ public class ClientConfiguration { this.connectionTimeout = connectionTimeout; } - public ClientConnectionManager getConectionManager() { + public HttpClientConnectionManager getConectionManager() { return conectionManager; } - public void setConectionManager(ClientConnectionManager conectionManager) { + public void setConectionManager(HttpClientConnectionManager conectionManager) { this.conectionManager = conectionManager; } } http://git-wip-us.apache.org/repos/asf/marmotta/blob/0ed4572b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java ---------------------------------------------------------------------- diff --git a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java index 5f97947..ba8232f 100644 --- a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java +++ b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java @@ -21,16 +21,16 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.*; import org.apache.http.client.HttpClient; import org.apache.http.client.HttpRequestRetryHandler; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpHead; import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.params.ClientPNames; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.impl.client.DefaultRedirectStrategy; -import org.apache.http.params.BasicHttpParams; -import org.apache.http.params.CoreConnectionPNames; -import org.apache.http.params.CoreProtocolPNames; -import org.apache.http.params.HttpParams; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.impl.client.*; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; import org.apache.marmotta.client.ClientConfiguration; @@ -52,28 +52,33 @@ public class HTTPUtil { public static HttpClient createClient(ClientConfiguration config, String context) { - HttpParams httpParams = new BasicHttpParams(); - httpParams.setParameter(CoreProtocolPNames.USER_AGENT, "Marmotta Client Library/" + MetaUtil.getVersion()); + final HttpClientBuilder httpClientBuilder = HttpClients.custom(); - httpParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, config.getSoTimeout()); - httpParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, config.getConnectionTimeout()); + httpClientBuilder.setUserAgent("Marmotta Client Library/" + MetaUtil.getVersion()); + httpClientBuilder.setRedirectStrategy(new MarmottaRedirectStrategy()); + httpClientBuilder.setRetryHandler(new MarmottaHttpRequestRetryHandler()); - httpParams.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true); - httpParams.setIntParameter(ClientPNames.MAX_REDIRECTS, 3); + final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); + requestConfigBuilder.setSocketTimeout(config.getSoTimeout()); + requestConfigBuilder.setConnectTimeout(config.getConnectionTimeout()); + requestConfigBuilder.setRedirectsEnabled(true); + requestConfigBuilder.setMaxRedirects(3); + httpClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build()); - if (StringUtils.isNotBlank(context)) { - httpParams.setParameter(CONTEXT, context); - } - - DefaultHttpClient client; if (config.getConectionManager() != null) { - client = new DefaultHttpClient(config.getConectionManager(), httpParams); + httpClientBuilder.setConnectionManager(config.getConectionManager()); } else { - client = new DefaultHttpClient(httpParams); + final Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create() + .register("http", PlainConnectionSocketFactory.getSocketFactory()) + //.register("https", ) + .build(); + + final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(registry); + cm.setMaxTotal(100); + httpClientBuilder.setConnectionManager(cm); } - client.setRedirectStrategy(new MarmottaRedirectStrategy()); - client.setHttpRequestRetryHandler(new MarmottaHttpRequestRetryHandler()); - return client; + + return httpClientBuilder.build(); } public static HttpPost createPost(String path, ClientConfiguration config) {
