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());
+ }
}