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

}

});

}

});

0 0
原创粉丝点击