You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/04/14 11:55:53 UTC

[1/2] git commit: CAMEL-7360 Added sendDateHeader option to camel-jetty endpoint

Repository: camel
Updated Branches:
  refs/heads/master a962ee5fa -> 3168882c8


CAMEL-7360 Added sendDateHeader option to camel-jetty endpoint


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/592291e0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/592291e0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/592291e0

Branch: refs/heads/master
Commit: 592291e0ae4225c9bb9b8f1447426b6fdec54a14
Parents: a962ee5
Author: Willem Jiang <wi...@gmail.com>
Authored: Mon Apr 14 16:40:33 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Mon Apr 14 16:47:39 2014 +0800

----------------------------------------------------------------------
 .../apache/camel/component/jetty/JettyHttpComponent.java    | 2 ++
 .../org/apache/camel/component/jetty/JettyHttpEndpoint.java | 9 +++++++++
 .../org/apache/camel/component/jetty/HttpHeaderTest.java    | 7 ++++++-
 3 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/592291e0/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 670a4a5..adc504f 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -299,6 +299,8 @@ public class JettyHttpComponent extends HttpComponent {
                 // just set if we need sendServerVersion, the default value is true
                 server.setSendServerVersion(endpoint.isSendServerVersion());
                 server.addConnector(connector);
+                
+                server.setSendDateHeader(endpoint.isSendDateHeader());
 
                 connectorRef = new ConnectorRef(server, connector, createServletForConnector(server, connector, endpoint.getHandlers(), endpoint));
                 // must enable session before we start

http://git-wip-us.apache.org/repos/asf/camel/blob/592291e0/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
index 089e159..a55e43d 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
@@ -49,6 +49,7 @@ public class JettyHttpEndpoint extends HttpEndpoint {
     private boolean enableJmx;
     private boolean enableMultipartFilter;
     private boolean sendServerVersion = true;
+    private boolean sendDateHeader;
     private Filter multipartFilter;
     private List<Filter> filters;
     private Long continuationTimeout;
@@ -176,6 +177,14 @@ public class JettyHttpEndpoint extends HttpEndpoint {
         this.sendServerVersion = sendServerVersion;
     }
     
+    public boolean isSendDateHeader() { 
+        return sendDateHeader;
+    }
+    
+    public void setSendDateHeader(boolean sendDateHeader) { 
+        this.sendDateHeader = sendDateHeader;
+    }
+    
     public boolean isEnableMultipartFilter() {
         return enableMultipartFilter;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/592291e0/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderTest.java
index 3bf6bb9..c3deb50 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpHeaderTest.java
@@ -43,6 +43,7 @@ public class HttpHeaderTest extends BaseJettyTest {
         });
         
         assertNotNull(ex.getOut().getHeader("Server"));
+        assertNull(ex.getOut().getHeader("Date"));
         
         ex = template.request("http://localhost:{{port2}}/server/mytest", new Processor() {
             @Override
@@ -52,7 +53,9 @@ public class HttpHeaderTest extends BaseJettyTest {
         });
         
         assertNull(ex.getOut().getHeader("Server"));
+        assertNotNull(ex.getOut().getHeader("Date"));
     }
+    
    
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -81,8 +84,10 @@ public class HttpHeaderTest extends BaseJettyTest {
                 
                 from("jetty:http://localhost:{{port}}/server/mytest").transform(constant("Response!"));
                 
-                from("jetty:http://localhost:{{port2}}/server/mytest?sendServerVersion=false").transform(constant("Response!"));
+                //The setting only effect on a new server endpoint
+                from("jetty:http://localhost:{{port2}}/server/mytest?sendServerVersion=false&sendDateHeader=true").transform(constant("Response!"));
                 
+               
             }
         };
     }


[2/2] git commit: CAMEL-7362 Added URI option support of maxTotalConnections and connectionsPerRoute

Posted by ni...@apache.org.
CAMEL-7362 Added URI option support of maxTotalConnections and connectionsPerRoute


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3168882c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3168882c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3168882c

Branch: refs/heads/master
Commit: 3168882c8343975105db494c2aba08aa6ccaffd7
Parents: 592291e
Author: Willem Jiang <wi...@gmail.com>
Authored: Mon Apr 14 17:20:53 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Mon Apr 14 17:20:53 2014 +0800

----------------------------------------------------------------------
 .../camel/component/http4/HttpComponent.java    | 26 ++++++++++++++++----
 .../component/http4/HttpEndpointURLTest.java    | 13 ++++++++++
 2 files changed, 34 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3168882c/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
index e7820cd..58ebc11 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
@@ -246,7 +246,10 @@ public class HttpComponent extends HeaderFilterStrategyComponent {
         LOG.debug("Creating endpoint uri {}", endpointUriString);
         HttpClientConnectionManager localConnectionManager = clientConnectionManager;
         if (localConnectionManager == null) {
-            localConnectionManager = createConnectionManager(createConnectionRegistry(x509HostnameVerifier, sslContextParameters));
+            // need to check the parameters of maxTotalConnections and connectionsPerRoute
+            int maxTotalConnections = getAndRemoveParameter(parameters, "maxTotalConnections", int.class, 0);
+            int connectionsPerRoute = getAndRemoveParameter(parameters, "connectionsPerRoute", int.class, 0);
+            localConnectionManager = createConnectionManager(createConnectionRegistry(x509HostnameVerifier, sslContextParameters), maxTotalConnections, connectionsPerRoute);
         }
         HttpEndpoint endpoint = new HttpEndpoint(endpointUriString, this, clientBuilder, localConnectionManager, configurer);
         if (urlRewrite != null) {
@@ -313,19 +316,32 @@ public class HttpComponent extends HeaderFilterStrategyComponent {
     }
     
     protected HttpClientConnectionManager createConnectionManager(Registry<ConnectionSocketFactory> registry) {
+        return createConnectionManager(registry, 0, 0);
+    }
+    
+    protected HttpClientConnectionManager createConnectionManager(Registry<ConnectionSocketFactory> registry, int maxTotalConnections, int connectionsPerRoute) {
         // setup the connection live time
         PoolingHttpClientConnectionManager answer = 
             new PoolingHttpClientConnectionManager(registry, null, null, null, getConnectionTimeToLive(), TimeUnit.MILLISECONDS);
-        if (getMaxTotalConnections() > 0) {
-            answer.setMaxTotal(getMaxTotalConnections());
+        int localMaxTotalConnections = maxTotalConnections;
+        if (localMaxTotalConnections == 0) {
+            localMaxTotalConnections = getMaxTotalConnections();
+        }
+        if (localMaxTotalConnections > 0) {
+            answer.setMaxTotal(localMaxTotalConnections);
         }
-        if (getConnectionsPerRoute() > 0) {
-            answer.setDefaultMaxPerRoute(getConnectionsPerRoute());
+        int localConnectionsPerRoute = connectionsPerRoute;
+        if (localConnectionsPerRoute == 0) {
+            localConnectionsPerRoute = getConnectionsPerRoute();
+        }
+        if (localConnectionsPerRoute > 0) {
+            answer.setDefaultMaxPerRoute(localConnectionsPerRoute);
         }
         LOG.info("Created ClientConnectionManager " + answer);
 
         return answer;
     }
+    
 
     @Override
     protected boolean useIntrospectionOnEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/3168882c/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpEndpointURLTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpEndpointURLTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpEndpointURLTest.java
index 2fa01a5..af09699 100644
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpEndpointURLTest.java
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpEndpointURLTest.java
@@ -18,6 +18,8 @@ package org.apache.camel.component.http4;
 
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.test.junit4.CamelTestSupport;
+import org.apache.http.conn.HttpClientConnectionManager;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.junit.Test;
 
 public class HttpEndpointURLTest extends CamelTestSupport {
@@ -48,5 +50,16 @@ public class HttpEndpointURLTest extends CamelTestSupport {
          
         
     }
+    
+    @Test
+    public void testConnectionManagerFromHttpUri() throws Exception {
+        HttpEndpoint http1 = context.getEndpoint("http4://www.google.com?maxTotalConnections=40&connectionsPerRoute=5", HttpEndpoint.class);
+        HttpClientConnectionManager connectionManager = http1.getClientConnectionManager();
+        assertTrue("Get a wrong type of connection manager", connectionManager instanceof PoolingHttpClientConnectionManager);
+        @SuppressWarnings("resource")
+        PoolingHttpClientConnectionManager poolManager = (PoolingHttpClientConnectionManager)connectionManager;
+        assertEquals("Get a wrong setting of maxTotalConnections", 40, poolManager.getMaxTotal());
+        assertEquals("Get a wrong setting of connectionsPerRoute", 5, poolManager.getDefaultMaxPerRoute());
+    }
 
 }