Fix for CONNECTORS-354. Add ConnectionPoolSize integer parameter.
git-svn-id: https://svn.apache.org/repos/asf/incubator/lcf/integration/solr-3.x/trunk@1226464 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/mcf/src/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java b/mcf/src/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
index e2118d7..9915aca 100644
--- a/mcf/src/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
+++ b/mcf/src/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
@@ -78,6 +78,7 @@
int socketTimeOut;
MultiThreadedHttpConnectionManager httpConnectionManager = null;
HttpClient client = null;
+ int poolSize;
public ManifoldCFQParserPlugin()
{
@@ -101,14 +102,17 @@
fieldDenyDocument = denyAttributePrefix+"document";
fieldAllowShare = allowAttributePrefix+"share";
fieldDenyShare = denyAttributePrefix+"share";
+ Integer connectionPoolSize = (Integer)args.get("ConnectionPoolSize");
+ poolSize = (connectionPoolSize==null)?50:connectionPoolSize.intValue();
// Initialize the connection pool
HttpConnectionManagerParams params = new HttpConnectionManagerParams();
params.setTcpNoDelay(true);
params.setStaleCheckingEnabled(false);
+ params.setDefaultMaxConnectionsPerHost(poolSize);
+ params.setMaxTotalConnections(poolSize);
httpConnectionManager = new MultiThreadedHttpConnectionManager();
httpConnectionManager.setParams(params);
- // MHL to set the pool size
client = new HttpClient(httpConnectionManager);
}
diff --git a/mcf/src/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java b/mcf/src/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
index 11d59ce..65d8e07 100644
--- a/mcf/src/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
+++ b/mcf/src/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
@@ -70,6 +70,7 @@
int socketTimeOut;
MultiThreadedHttpConnectionManager httpConnectionManager = null;
HttpClient client = null;
+ int poolSize;
public ManifoldCFSearchComponent()
{
@@ -103,14 +104,17 @@
fieldDenyDocument = denyAttributePrefix+"document";
fieldAllowShare = allowAttributePrefix+"share";
fieldDenyShare = denyAttributePrefix+"share";
-
+ Integer connectionPoolSize = (Integer)args.get("ConnectionPoolSize");
+ poolSize = (connectionPoolSize==null)?50:connectionPoolSize.intValue();
+
// Initialize the connection pool
HttpConnectionManagerParams params = new HttpConnectionManagerParams();
params.setTcpNoDelay(true);
params.setStaleCheckingEnabled(false);
+ params.setDefaultMaxConnectionsPerHost(poolSize);
+ params.setMaxTotalConnections(poolSize);
httpConnectionManager = new MultiThreadedHttpConnectionManager();
httpConnectionManager.setParams(params);
- // MHL to set the pool size
client = new HttpClient(httpConnectionManager);
}