Author: davsclaus Date: Thu Jun 21 15:24:17 2012 New Revision: 1352570 URL: http://svn.apache.org/viewvc?rev=1352570&view=rev Log: Added test based on user forum issue
Added: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java - copied, changed from r1352529, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java Copied: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java (from r1352529, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java?p2=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java&p1=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java&r1=1352529&r2=1352570&rev=1352570&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java (original) +++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java Thu Jun 21 15:24:17 2012 @@ -19,10 +19,8 @@ package org.apache.camel.component.jms; import javax.jms.ConnectionFactory; import org.apache.camel.CamelContext; -import org.apache.camel.Exchange; -import org.apache.camel.Processor; +import org.apache.camel.ExchangePattern; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.Test; @@ -31,26 +29,19 @@ import static org.apache.camel.component /** * @version */ -public class JmsTransferExchangeFromSplitterTest extends CamelTestSupport { +public class JmsSplitterParallelTest extends CamelTestSupport { protected String getUri() { - return "activemq:queue:foo?transferExchange=true"; + return "activemq:queue:foo?useMessageIDAsCorrelationID=true"; } @Test - public void testSplit() throws Exception { - MockEndpoint mock = getMockEndpoint("mock:result"); - mock.expectedBodiesReceived("A", "B", "C"); - mock.allMessages().header("foo").isEqualTo("cheese"); - mock.allMessages().property("bar").isEqualTo(123); - - template.send("direct:start", new Processor() { - public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody("A,B,C"); - exchange.getIn().setHeader("foo", "cheese"); - exchange.setProperty("bar", 123); - } - }); + public void testSplitParallel() throws Exception { + getMockEndpoint("mock:result").expectedBodiesReceived("A,B,C,D,E"); + getMockEndpoint("mock:reply").expectedBodiesReceivedInAnyOrder("Bye A", "Bye B", "Bye C", "Bye D", "Bye E"); + getMockEndpoint("mock:split").expectedBodiesReceivedInAnyOrder("Bye A", "Bye B", "Bye C", "Bye D", "Bye E"); + + template.sendBody("direct:start", "A,B,C,D,E"); assertMockEndpointsSatisfied(); } @@ -70,10 +61,17 @@ public class JmsTransferExchangeFromSpli @Override public void configure() throws Exception { from("direct:start") - .split(body().tokenize(",")) - .to(getUri()); - - from(getUri()).to("mock:result"); + .split(body().tokenize(",")).parallelProcessing() + .to("log:before") + .to(ExchangePattern.InOut, getUri()) + .to("log:after") + .to("mock:split") + .end() + .to("mock:result"); + + from(getUri()) + .transform(body().prepend("Bye ")) + .to("mock:reply"); } }; }