You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2014/12/31 18:04:50 UTC
[2/2] camel git commit: CAMEL-8201: NPE with language:ruby and
concurrentConsumers - added unit test which is reproducing the issue
CAMEL-8201: NPE with language:ruby and concurrentConsumers - added unit test which is reproducing the issue
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b1552656
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b1552656
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b1552656
Branch: refs/heads/master
Commit: b1552656f52b33379773b2e26cf4df8a64790039
Parents: c02a759
Author: Christian Mueller <cm...@apache.org>
Authored: Wed Dec 31 18:04:07 2014 +0100
Committer: Christian Mueller <cm...@apache.org>
Committed: Wed Dec 31 18:04:41 2014 +0100
----------------------------------------------------------------------
.../builder/script/RubyScriptTextTest.java | 71 ++++++++++++++++++++
1 file changed, 71 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/b1552656/components/camel-script/src/test/java/org/apache/camel/builder/script/RubyScriptTextTest.java
----------------------------------------------------------------------
diff --git a/components/camel-script/src/test/java/org/apache/camel/builder/script/RubyScriptTextTest.java b/components/camel-script/src/test/java/org/apache/camel/builder/script/RubyScriptTextTest.java
new file mode 100755
index 0000000..875f309
--- /dev/null
+++ b/components/camel-script/src/test/java/org/apache/camel/builder/script/RubyScriptTextTest.java
@@ -0,0 +1,71 @@
+package org.apache.camel.builder.script;
+
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Test;
+
+public class RubyScriptTextTest extends CamelTestSupport {
+
+ @EndpointInject(uri = "mock:result")
+ MockEndpoint resultEndpoint;
+
+ final int messageCount = 500;
+
+ @Test
+ public void parallelExecutionWithCachedScriptAndReusedScriptEngine() throws Exception {
+ context.addRoutes(new RouteBuilder() {
+ public void configure() throws Exception {
+ getContext().getProperties().put(Exchange.REUSE_SCRIPT_ENGINE, "true");
+ //getContext().getProperties().put(Exchange.COMPILE_SCRIPT, "true");
+
+ from("seda:jruby?concurrentConsumers=5")
+ .to("language:ruby:puts $request.body;result = $request.body?cacheScript=true")
+ .to(resultEndpoint);
+ }
+ });
+
+ resultEndpoint.setExpectedMessageCount(messageCount);
+ resultEndpoint.assertNoDuplicates(body());
+
+ for (int i = 1; i < messageCount + 1; i++) {
+ template.sendBody("seda:jruby", "BODY" + i);
+ }
+
+ assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
+ }
+
+ @Test
+ @Ignore
+ public void parallelExecutionWithoutCachedScriptAndNewScriptEngineForEachExchange() throws Exception {
+ context.addRoutes(new RouteBuilder() {
+ public void configure() throws Exception {
+ //getContext().getProperties().put(Exchange.COMPILE_SCRIPT, "true");
+
+ from("seda:jruby?concurrentConsumers=5")
+ .to("language:ruby:puts $request.body;result = $request.body")
+ .to(resultEndpoint);
+ }
+ });
+
+ resultEndpoint.setExpectedMessageCount(messageCount);
+ resultEndpoint.assertNoDuplicates(body());
+
+ for (int i = 1; i < messageCount + 1; i++) {
+ template.sendBody("seda:jruby", "BODY" + i);
+ }
+
+ assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
+ }
+}