You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2014/03/19 20:59:43 UTC
svn commit: r1579370 - in
/manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch:
ElasticSearchConnection.java ElasticSearchConnector.java
Author: kwright
Date: Wed Mar 19 19:59:43 2014
New Revision: 1579370
URL: http://svn.apache.org/r1579370
Log:
Fix deprecation warnings in ES connector, part of CONNECTORS-911
Modified:
manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnection.java
manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnector.java
Modified: manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnection.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnection.java?rev=1579370&r1=1579369&r2=1579370&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnection.java (original)
+++ manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnection.java Wed Mar 19 19:59:43 2014
@@ -30,10 +30,7 @@ import java.io.InterruptedIOException;
import java.net.URLEncoder;
import java.nio.charset.Charset;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultRedirectStrategy;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.methods.HttpGet;
@@ -43,8 +40,6 @@ import org.apache.http.client.methods.Ht
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.Header;
-import org.apache.http.params.CoreProtocolPNames;
-import org.apache.http.params.HttpProtocolParams;
import org.apache.http.ProtocolVersion;
import org.apache.http.util.EntityUtils;
import org.apache.http.message.BasicHeader;
Modified: manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnector.java?rev=1579370&r1=1579369&r2=1579370&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnector.java (original)
+++ manifoldcf/trunk/connectors/elasticsearch/connector/src/main/java/org/apache/manifoldcf/agents/output/elasticsearch/ElasticSearchConnector.java Wed Mar 19 19:59:43 2014
@@ -28,19 +28,18 @@ import java.util.Map;
import java.util.Iterator;
import java.util.concurrent.TimeUnit;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.impl.conn.PoolingClientConnectionManager;
+import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.protocol.HttpRequestExecutor;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.config.SocketConfig;
import org.apache.http.client.HttpRequestRetryHandler;
import org.apache.http.protocol.HttpContext;
-import org.apache.http.params.HttpConnectionParams;
-import org.apache.http.params.HttpParams;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.CoreConnectionPNames;
-import org.apache.http.params.CoreProtocolPNames;
-import org.apache.http.client.params.ClientPNames;
-import org.apache.http.client.params.HttpClientParams;
import org.apache.commons.io.FilenameUtils;
import org.apache.manifoldcf.agents.interfaces.IOutputAddActivity;
@@ -102,7 +101,7 @@ public class ElasticSearchConnector exte
/** Connection expiration interval */
private static final long EXPIRATION_INTERVAL = 60000L;
- private ClientConnectionManager connectionManager = null;
+ private HttpClientConnectionManager connectionManager = null;
private HttpClient client = null;
private long expirationTime = -1L;
@@ -121,38 +120,38 @@ public class ElasticSearchConnector exte
{
if (client == null)
{
- PoolingClientConnectionManager localConnectionManager = new PoolingClientConnectionManager();
- localConnectionManager.setMaxTotal(1);
- connectionManager = localConnectionManager;
+ connectionManager = new PoolingHttpClientConnectionManager();
int socketTimeout = 900000;
int connectionTimeout = 60000;
- BasicHttpParams params = new BasicHttpParams();
- // This one is essential to prevent us from reading from the content stream before necessary during auth, but
- // is incompatible with some proxies.
- params.setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,true);
- // Enabled for Solr, but probably not necessary for better-behaved ES
- //params.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
- params.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
- params.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
- params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,socketTimeout);
- params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,connectionTimeout);
- params.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS,true);
- DefaultHttpClient localClient = new DefaultHttpClient(connectionManager,params);
- // No retries
- localClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
- {
- public boolean retryRequest(
- IOException exception,
- int executionCount,
- HttpContext context)
- {
- return false;
- }
-
- });
- client = localClient;
+ // Set up connection manager
+ connectionManager = new PoolingHttpClientConnectionManager();
+
+ CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
+
+ RequestConfig.Builder requestBuilder = RequestConfig.custom()
+ .setCircularRedirectsAllowed(true)
+ .setSocketTimeout(socketTimeout)
+ .setStaleConnectionCheckEnabled(true)
+ .setExpectContinueEnabled(true)
+ .setConnectTimeout(connectionTimeout)
+ .setConnectionRequestTimeout(socketTimeout);
+
+ client = HttpClients.custom()
+ .setConnectionManager(connectionManager)
+ .setMaxConnTotal(1)
+ .disableAutomaticRetries()
+ .setDefaultRequestConfig(requestBuilder.build())
+ .setDefaultSocketConfig(SocketConfig.custom()
+ //.setTcpNoDelay(true)
+ .setSoTimeout(socketTimeout)
+ .build())
+ .setDefaultCredentialsProvider(credentialsProvider)
+ .setRequestExecutor(new HttpRequestExecutor(socketTimeout))
+ .build();
+
+
}
expirationTime = System.currentTimeMillis() + EXPIRATION_INTERVAL;
return client;