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/24 18:16:47 UTC
svn commit: r1580924 -
/manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java
Author: kwright
Date: Mon Mar 24 17:16:47 2014
New Revision: 1580924
URL: http://svn.apache.org/r1580924
Log:
Remove deprecation warnings. Part of CONNECTORS-911.
Modified:
manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java
Modified: manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java?rev=1580924&r1=1580923&r2=1580924&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java (original)
+++ manifoldcf/trunk/connectors/meridio/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/meridio/meridiowrapper/MeridioWrapper.java Mon Mar 24 17:16:47 2014
@@ -71,19 +71,19 @@ import com.meridio.www.MeridioRMWS.Apply
import org.tempuri.*;
import org.tempuri.holders.*;
-import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.HttpClientConnectionManager;
import org.apache.http.client.HttpClient;
-import org.apache.http.impl.conn.PoolingClientConnectionManager;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.ssl.SSLSocketFactory;
+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.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.BrowserCompatHostnameVerifier;
-import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultRedirectStrategy;
-import org.apache.http.conn.params.ConnRoutePNames;
-import org.apache.http.client.params.ClientPNames;
-import org.apache.http.params.CoreConnectionPNames;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpParams;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.NTCredentials;
import org.apache.http.HttpHost;
@@ -128,7 +128,9 @@ public class MeridioWrapper
protected Logger oLog = null;
protected String clientWorkstation = null;
- protected ClientConnectionManager connectionManager = null;
+ protected HttpClientConnectionManager dmwsConnectionManager = null;
+ protected HttpClientConnectionManager rmwsConnectionManager = null;
+ protected HttpClientConnectionManager mcwsConnectionManager = null;
protected HttpClient dmwsHttpClient = null;
protected HttpClient rmwsHttpClient = null;
protected HttpClient mcwsHttpClient = null;
@@ -213,20 +215,17 @@ public class MeridioWrapper
this.engineConfiguration = new ResourceProvider(resourceClass,engineConfigurationFile);
this.clientWorkstation = clientWorkstation;
+ SSLConnectionSocketFactory myFactory = null;
+ if (mySSLFactory != null)
+ {
+ myFactory = new SSLConnectionSocketFactory(mySSLFactory, new BrowserCompatHostnameVerifier());
+ }
+
// Set up the pool.
// We have a choice: We can either have one httpclient instance, which gets reinitialized for every service
// it connects with (because each one has a potentially different proxy setup), OR we can have a different
// httpclient for each service. The latter approach is obviously the more efficient, so I've chosen to do it
// that way.
- PoolingClientConnectionManager localConnectionManager = new PoolingClientConnectionManager();
- localConnectionManager.setMaxTotal(1);
- if (mySSLFactory != null)
- {
- SSLSocketFactory myFactory = new SSLSocketFactory(mySSLFactory, new BrowserCompatHostnameVerifier());
- Scheme myHttpsProtocol = new Scheme("https", 443, myFactory);
- localConnectionManager.getSchemeRegistry().register(myHttpsProtocol);
- }
- connectionManager = localConnectionManager;
// Parse the user and password values
int index = userName.indexOf("\\");
@@ -255,148 +254,157 @@ public class MeridioWrapper
oLog.debug("Meridio: Password is null");
}
+ int socketTimeout = 900000;
+ int connectionTimeout = 300000;
+
+ dmwsConnectionManager = new PoolingHttpClientConnectionManager();
+ rmwsConnectionManager = new PoolingHttpClientConnectionManager();
+ mcwsConnectionManager = new PoolingHttpClientConnectionManager();
+
// Initialize the three httpclient objects
-
- // dmws first
- BasicHttpParams dmwsParams = new BasicHttpParams();
- dmwsParams.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
- dmwsParams.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
- dmwsParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,60000);
- dmwsParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,900000);
- dmwsParams.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
- DefaultHttpClient localDmwsHttpClient = new DefaultHttpClient(connectionManager,dmwsParams);
- // No retries
- localDmwsHttpClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
- {
- public boolean retryRequest(
- IOException exception,
- int executionCount,
- HttpContext context)
- {
- return false;
- }
-
- });
- localDmwsHttpClient.setRedirectStrategy(new DefaultRedirectStrategy());
+ CredentialsProvider dmwsCredentialsProvider = new BasicCredentialsProvider();
+ CredentialsProvider rmwsCredentialsProvider = new BasicCredentialsProvider();
+
+ RequestConfig.Builder dmwsRequestBuilder = RequestConfig.custom()
+ .setCircularRedirectsAllowed(true)
+ .setSocketTimeout(socketTimeout)
+ .setStaleConnectionCheckEnabled(true)
+ .setExpectContinueEnabled(true)
+ .setConnectTimeout(connectionTimeout)
+ .setConnectionRequestTimeout(socketTimeout);
+ RequestConfig.Builder rmwsRequestBuilder = RequestConfig.custom()
+ .setCircularRedirectsAllowed(true)
+ .setSocketTimeout(socketTimeout)
+ .setStaleConnectionCheckEnabled(true)
+ .setExpectContinueEnabled(true)
+ .setConnectTimeout(connectionTimeout)
+ .setConnectionRequestTimeout(socketTimeout);
+
+ // Set up credentials
if (domainUser != null)
{
- localDmwsHttpClient.getCredentialsProvider().setCredentials(
+ dmwsCredentialsProvider.setCredentials(
new AuthScope(meridioDmwsUrl.getHost(),meridioDmwsUrl.getPort()),
new NTCredentials(domainUser, password, currentHost, domain));
+ rmwsCredentialsProvider.setCredentials(
+ new AuthScope(meridioRmwsUrl.getHost(),meridioRmwsUrl.getPort()),
+ new NTCredentials(domainUser, password, currentHost, domain));
}
- // Initialize proxy
+
+ // Initialize DMWS proxy
if (dmwsProxyHost != null && dmwsProxyHost.length() > 0)
{
int port = (dmwsProxyPort == null || dmwsProxyPort.length() == 0)?8080:Integer.parseInt(dmwsProxyPort);
// Configure proxy authentication
if (domainUser != null && domainUser.length() > 0)
{
- localDmwsHttpClient.getCredentialsProvider().setCredentials(
+ dmwsCredentialsProvider.setCredentials(
new AuthScope(dmwsProxyHost, port),
new NTCredentials(domainUser, password, currentHost, domain));
}
HttpHost proxy = new HttpHost(dmwsProxyHost, port);
- localDmwsHttpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
+ dmwsRequestBuilder.setProxy(proxy);
}
- dmwsHttpClient = localDmwsHttpClient;
-
- // rmws
- BasicHttpParams rmwsParams = new BasicHttpParams();
- rmwsParams.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
- rmwsParams.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
- rmwsParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,60000);
- rmwsParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,900000);
- rmwsParams.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
- DefaultHttpClient localRmwsHttpClient = new DefaultHttpClient(connectionManager,rmwsParams);
- // No retries
- localRmwsHttpClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
- {
- public boolean retryRequest(
- IOException exception,
- int executionCount,
- HttpContext context)
- {
- return false;
- }
-
- });
- localRmwsHttpClient.setRedirectStrategy(new DefaultRedirectStrategy());
- if (domainUser != null)
- {
- localRmwsHttpClient.getCredentialsProvider().setCredentials(
- new AuthScope(meridioRmwsUrl.getHost(),meridioRmwsUrl.getPort()),
- new NTCredentials(domainUser, password, currentHost, domain));
- }
- // Initialize proxy
+ // Initialize RMWS proxy
if (rmwsProxyHost != null && rmwsProxyHost.length() > 0)
{
int port = (rmwsProxyPort == null || rmwsProxyPort.length() == 0)?8080:Integer.parseInt(rmwsProxyPort);
// Configure proxy authentication
if (domainUser != null && domainUser.length() > 0)
{
- localRmwsHttpClient.getCredentialsProvider().setCredentials(
+ rmwsCredentialsProvider.setCredentials(
new AuthScope(rmwsProxyHost, port),
new NTCredentials(domainUser, password, currentHost, domain));
}
HttpHost proxy = new HttpHost(rmwsProxyHost, port);
- localRmwsHttpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
+ rmwsRequestBuilder.setProxy(proxy);
}
- rmwsHttpClient = localRmwsHttpClient;
- // mcws
+ dmwsHttpClient = HttpClients.custom()
+ .setConnectionManager(dmwsConnectionManager)
+ .setMaxConnTotal(1)
+ .disableAutomaticRetries()
+ .setDefaultRequestConfig(dmwsRequestBuilder.build())
+ .setDefaultSocketConfig(SocketConfig.custom()
+ .setTcpNoDelay(true)
+ .setSoTimeout(socketTimeout)
+ .build())
+ .setDefaultCredentialsProvider(dmwsCredentialsProvider)
+ .setSSLSocketFactory(myFactory)
+ .setRequestExecutor(new HttpRequestExecutor(socketTimeout))
+ .setRedirectStrategy(new DefaultRedirectStrategy())
+ .build();
+
+ rmwsHttpClient = HttpClients.custom()
+ .setConnectionManager(rmwsConnectionManager)
+ .setMaxConnTotal(1)
+ .disableAutomaticRetries()
+ .setDefaultRequestConfig(rmwsRequestBuilder.build())
+ .setDefaultSocketConfig(SocketConfig.custom()
+ .setTcpNoDelay(true)
+ .setSoTimeout(socketTimeout)
+ .build())
+ .setDefaultCredentialsProvider(rmwsCredentialsProvider)
+ .setSSLSocketFactory(myFactory)
+ .setRequestExecutor(new HttpRequestExecutor(socketTimeout))
+ .setRedirectStrategy(new DefaultRedirectStrategy())
+ .build();
+
if (meridioManifoldCFWSUrl != null)
{
- BasicHttpParams mcwsParams = new BasicHttpParams();
- mcwsParams.setBooleanParameter(CoreConnectionPNames.TCP_NODELAY,true);
- mcwsParams.setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,true);
- mcwsParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,60000);
- mcwsParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT,900000);
- mcwsParams.setBooleanParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS,true);
- DefaultHttpClient localMcwsHttpClient = new DefaultHttpClient(connectionManager,mcwsParams);
- // No retries
- localMcwsHttpClient.setHttpRequestRetryHandler(new HttpRequestRetryHandler()
- {
- public boolean retryRequest(
- IOException exception,
- int executionCount,
- HttpContext context)
- {
- return false;
- }
-
- });
+ CredentialsProvider mcwsCredentialsProvider = new BasicCredentialsProvider();
+
+ RequestConfig.Builder mcwsRequestBuilder = RequestConfig.custom()
+ .setCircularRedirectsAllowed(true)
+ .setSocketTimeout(socketTimeout)
+ .setStaleConnectionCheckEnabled(true)
+ .setExpectContinueEnabled(true)
+ .setConnectTimeout(connectionTimeout)
+ .setConnectionRequestTimeout(socketTimeout);
- localMcwsHttpClient.setRedirectStrategy(new DefaultRedirectStrategy());
if (domainUser != null)
{
- localMcwsHttpClient.getCredentialsProvider().setCredentials(
+ mcwsCredentialsProvider.setCredentials(
new AuthScope(meridioManifoldCFWSUrl.getHost(),meridioManifoldCFWSUrl.getPort()),
new NTCredentials(domainUser, password, currentHost, domain));
}
- // Initialize proxy
+
+ // Initialize MCWS proxy
if (mcwsProxyHost != null && mcwsProxyHost.length() > 0)
{
int port = (mcwsProxyPort == null || mcwsProxyPort.length() == 0)?8080:Integer.parseInt(mcwsProxyPort);
// Configure proxy authentication
if (domainUser != null && domainUser.length() > 0)
{
- localMcwsHttpClient.getCredentialsProvider().setCredentials(
+ mcwsCredentialsProvider.setCredentials(
new AuthScope(mcwsProxyHost, port),
new NTCredentials(domainUser, password, currentHost, domain));
}
HttpHost proxy = new HttpHost(mcwsProxyHost, port);
- localMcwsHttpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
+ mcwsRequestBuilder.setProxy(proxy);
}
- mcwsHttpClient = localMcwsHttpClient;
+
+ mcwsHttpClient = HttpClients.custom()
+ .setConnectionManager(mcwsConnectionManager)
+ .setMaxConnTotal(1)
+ .disableAutomaticRetries()
+ .setDefaultRequestConfig(mcwsRequestBuilder.build())
+ .setDefaultSocketConfig(SocketConfig.custom()
+ .setTcpNoDelay(true)
+ .setSoTimeout(socketTimeout)
+ .build())
+ .setDefaultCredentialsProvider(mcwsCredentialsProvider)
+ .setSSLSocketFactory(myFactory)
+ .setRequestExecutor(new HttpRequestExecutor(socketTimeout))
+ .setRedirectStrategy(new DefaultRedirectStrategy())
+ .build();
}
- else
- mcwsHttpClient = null;
-
+
// Set up the stub handles
/*=================================================================
* Get a handle to the DMWS
@@ -489,8 +497,12 @@ public class MeridioWrapper
finally
{
loginToken_ = null;
- connectionManager.shutdown();
- connectionManager = null;
+ dmwsConnectionManager.shutdown();
+ dmwsConnectionManager = null;
+ rmwsConnectionManager.shutdown();
+ rmwsConnectionManager = null;
+ mcwsConnectionManager.shutdown();
+ mcwsConnectionManager = null;
}
}
}