Improve the VM component tests ------------------------------ Key: CAMEL-4239 URL: https://issues.apache.org/jira/browse/CAMEL-4239 Project: Camel Issue Type: Improvement Components: camel-core Reporter: Christian Müller Assignee: Christian Müller Fix For: 2.9.0
The [VM component|http://camel.apache.org/vm.html] is designed to support communication across CamelContext instances. Only one of the test classes use different Camel contexts. I think all tests should use at least two Camel contexts. I came to this, because of the following issue (please have a look into the following test): {code:java} public class VmDifferentOptionsOnConsumerAndProducerTest extends ContextTestSupport { private CamelContext context2; private ProducerTemplate template2; @Override @Before protected void setUp() throws Exception { super.setUp(); context2 = new DefaultCamelContext(new JndiRegistry(JndiTest.createInitialContext())); context2.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:start") .to("vm:foo"); } }); template2 = context2.createProducerTemplate(); ServiceHelper.startServices(template2, context2); } @Override @After protected void tearDown() throws Exception { ServiceHelper.stopServices(context2, template2); super.tearDown(); } @Test public void testSendToVm() throws Exception { getMockEndpoint("mock:result").expectedBodiesReceived("Hello World"); template2.sendBody("direct:start", "Hello World"); assertMockEndpointsSatisfied(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { from("vm:foo?concurrentConsumers=5") .to("mock:result"); } }; } } {code} As documented in the [SEDA component|http://camel.apache.org/seda.html] which is extended by the VM component, this should work with Camel 2.x (look for "Same URI must be used for both producer and consumer"). I try this with Camel 2.0, 2.1, 2.2 and 2.3 (the version we are using) and it fails. It's fixed in Camel 2.4 (I will update the wiki page). -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira