This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5c4e533cf740469fa6b6fd464308dba33ff86a64 Author: Claus Ibsen <[email protected]> AuthorDate: Tue Feb 16 13:46:58 2021 +0100 camel-http - Little optimize and load tests to reuse template to avoid creating garbage objects. --- .../apache/camel/component/http/HttpProducer.java | 4 +- .../camel/component/http/HttpProducerLoadTest.java | 55 +++++----------------- 2 files changed, 16 insertions(+), 43 deletions(-) diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java index 4b1dbaf..4278b87 100644 --- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java +++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java @@ -247,7 +247,9 @@ public class HttpProducer extends DefaultProducer { } httpResponse = executeMethod(httpRequest); int responseCode = httpResponse.getStatusLine().getStatusCode(); - LOG.debug("Http responseCode: {}", responseCode); + if (LOG.isDebugEnabled()) { + LOG.debug("Http responseCode: {}", responseCode); + } if (!throwException) { // if we do not use failed exception then populate response for all response codes diff --git a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerLoadTest.java b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerLoadTest.java index cd25a64..57ddd62 100644 --- a/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerLoadTest.java +++ b/components/camel-http/src/test/java/org/apache/camel/component/http/HttpProducerLoadTest.java @@ -16,6 +16,10 @@ */ package org.apache.camel.component.http; +import java.util.HashMap; +import java.util.Map; + +import org.apache.camel.Endpoint; import org.apache.camel.RoutesBuilder; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.http.handler.DrinkValidationHandler; @@ -74,51 +78,18 @@ public class HttpProducerLoadTest extends BaseHttpTest { @Test public void testProducerLoad() throws Exception { + Map<String, Object> map = new HashMap<>(); + for (int i = 0; i < 40; i++) { + map.put("mykey" + i, "myvalue" + i); + } + StopWatch watch = new StopWatch(); + + Endpoint to = getMandatoryEndpoint("direct:echo"); for (int i = 0; i < 10000000; i++) { - fluentTemplate.to("direct:echo") - .withHeader("a", "aaa") - .withHeader("b", "bbb") - .withHeader("c", "ccc") - .withHeader("d", "ddd") - .withHeader("e", "eee") - .withHeader("f", "fff") - .withHeader("g", "ggg") - .withHeader("h", "hhh") - .withHeader("i", "iii") - .withHeader("j", "jjj") - .withHeader("a2", "aaa") - .withHeader("b2", "bbb") - .withHeader("c2", "ccc") - .withHeader("d2", "ddd") - .withHeader("e2", "eee") - .withHeader("f2", "fff") - .withHeader("g2", "ggg") - .withHeader("h2", "hhh") - .withHeader("i2", "iii") - .withHeader("j2", "jjj") - .withHeader("a3", "aaa") - .withHeader("b3", "bbb") - .withHeader("c3", "ccc") - .withHeader("d3", "ddd") - .withHeader("e3", "eee") - .withHeader("f3", "fff") - .withHeader("g3", "ggg") - .withHeader("h3", "hhh") - .withHeader("i3", "iii") - .withHeader("j3", "jjj") - .withHeader("a4", "aaa") - .withHeader("b4", "bbb") - .withHeader("c4", "ccc") - .withHeader("d4", "ddd") - .withHeader("e4", "eee") - .withHeader("f4", "fff") - .withHeader("g4", "ggg") - .withHeader("h4", "hhh") - .withHeader("i4", "iii") - .withHeader("j4", "jjj") - .withHeader("myHeader", "msg" + i).send(); + template.sendBodyAndHeaders(to, "Message " + i, map); } + LOG.info("Took {} ms", watch.taken()); }
