import org.apache.camel.*; import org.apache.camel.builder.AdviceWithRouteBuilder; import org.apache.camel.builder.NotifyBuilder; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.builder.ValueBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import java.util.List; @ContextConfiguration(locations = "classpath:applicationContext.xml") public class JeroenTest extends AbstractTransactionalJUnit4SpringContextTests { private static final Logger log = LoggerFactory.getLogger(JeroenTest.class); @Produce(uri = "direct:start") protected ProducerTemplate inputTemplate; @EndpointInject(uri = "mock:output") protected MockEndpoint resultEndpoint; @Autowired private CamelContext context; @DirtiesContext @Test public void test() throws Exception { RouteBuilder rb = new RouteBuilder() { @Override public void configure() throws Exception { from("direct:start") .split().tokenizeXML("order","orders").streaming().shareUnitOfWork() .to("mock:output") .end(); } }; context.addRoutes(rb); inputTemplate.sendBody("\n" + " Camel in Action\n" + " ActiveMQ in Action\n" + " DSL in Action\n" + ""); List list = resultEndpoint.getExchanges(); for (Exchange exchange : list) { log.debug("splitted xml: {}", exchange.getIn().getBody(String.class)); } } }