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");
}
};
}