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