You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by ol...@apache.org on 2014/03/12 02:48:34 UTC

svn commit: r1576557 - in /incubator/sirona/trunk/agent/store/cube: pom.xml src/main/java/org/apache/sirona/cube/CubeBuilder.java src/main/java/org/apache/sirona/cube/HttpClientCube.java

Author: olamy
Date: Wed Mar 12 01:48:34 2014
New Revision: 1576557

URL: http://svn.apache.org/r1576557
Log:
make this more configurable

Modified:
    incubator/sirona/trunk/agent/store/cube/pom.xml
    incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubeBuilder.java
    incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/HttpClientCube.java

Modified: incubator/sirona/trunk/agent/store/cube/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/pom.xml?rev=1576557&r1=1576556&r2=1576557&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/pom.xml (original)
+++ incubator/sirona/trunk/agent/store/cube/pom.xml Wed Mar 12 01:48:34 2014
@@ -50,6 +50,13 @@
     </dependency>
 
     <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpasyncclient</artifactId>
+      <version>4.0.1</version>
+      <optional>true</optional>
+    </dependency>
+
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
     </dependency>

Modified: incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubeBuilder.java?rev=1576557&r1=1576556&r2=1576557&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubeBuilder.java (original)
+++ incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubeBuilder.java Wed Mar 12 01:48:34 2014
@@ -59,6 +59,14 @@ public class CubeBuilder {
      */
     private int postTimeout = 5000;
 
+    private int maxTotalConnections = 10;
+
+    private int defaultMaxPerRoute = 10;
+
+    private int connectionTimeout = 5000;
+
+    private int connectionRequestTimeout = 5000;
+
     public synchronized Cube build() {
         if (marker == null) {
             marker = Localhosts.get();
@@ -223,6 +231,26 @@ public class CubeBuilder {
         return sslKeyStoreProvider;
     }
 
+    public int getMaxTotalConnections()
+    {
+        return maxTotalConnections;
+    }
+
+    public int getDefaultMaxPerRoute()
+    {
+        return defaultMaxPerRoute;
+    }
+
+    public int getConnectionTimeout()
+    {
+        return connectionTimeout;
+    }
+
+    public int getConnectionRequestTimeout()
+    {
+        return connectionRequestTimeout;
+    }
+
     @Override
     public String toString() {
         return "CubeBuilder{" + collector + '}';

Modified: incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/HttpClientCube.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/HttpClientCube.java?rev=1576557&r1=1576556&r2=1576557&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/HttpClientCube.java (original)
+++ incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/HttpClientCube.java Wed Mar 12 01:48:34 2014
@@ -54,21 +54,18 @@ public class HttpClientCube
 
             PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
 
-            // FIXME configurable
-            connectionManager.setMaxTotal( 10 );
+            connectionManager.setMaxTotal( cubeBuilder.getMaxTotalConnections() );
 
-            connectionManager.setDefaultMaxPerRoute( 10 );
+            connectionManager.setDefaultMaxPerRoute( cubeBuilder.getDefaultMaxPerRoute() );
 
             builder = builder.setConnectionManager( connectionManager );
 
             httpclient = builder.build();
 
-            // FIXME configurable
-
             requestConfig = RequestConfig.custom() //
-                .setSocketTimeout( 5000 ) //
-                .setConnectTimeout( 5000 ) //
-                .setConnectionRequestTimeout( 5000 ) //
+                .setSocketTimeout( cubeBuilder.getPostTimeout() ) //
+                .setConnectTimeout( cubeBuilder.getConnectionTimeout() ) //
+                .setConnectionRequestTimeout( cubeBuilder.getConnectionRequestTimeout() ) //
                 .build();
 
         }