You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/02/16 12:47:34 UTC
[camel] 02/02: camel-http - Little optimize and load tests to reuse
template to avoid creating garbage objects.
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 <cl...@gmail.com>
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());
}