camel8
来源:互联网 发布:java.util.base64下载 编辑:程序博客网 时间:2024/05/16 01:44
Content base router:
from("jms:incomingOrders")
.choice()
.when(predicate)
.to("jms:xmlOrders")
.when(predicate)
.to("jms:csvOrders");
Predicate是camel中一个很简单的接口,只有一个matches方法
public interface Predicate {
boolean matches(Exchange exchange);
}
context.addRoutes(new RouteBuilder() {
public void configure() {
from("file:src/data?noop=true").to("jms:incomingOrders");
from("jms:incomingOrders")
.choice()
.when(header("CamelFileName")
.endsWith(".xml"))
.to("jms:xmlOrders")
.when(header("CamelFileName")
.endsWith(".csv"))
.to("jms:csvOrders");
from("jms:xmlOrders").process(new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println("Received XML order: "
+ exchange.getIn().getHeader("CamelFileName"));
}
});
from("jms:csvOrders").process(new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println("Received CSV order: "
+ exchange.getIn().getHeader("CamelFileName"));
}
});
}
});