Professional Documents
Culture Documents
Camel CBR Example
Camel CBR Example
package mypkg; import javax.jms.ConnectionFactory; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.jms.JmsComponent; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.model.OtherwiseDefinition; import org.apache.camel.model.WhenDefinition;
public class CBR2Demo { public static void main(String[] args) throws Exception { CamelContext ctx=new DefaultCamelContext(); ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("vm://localhost");ctx.addComponent("jms",JmsComponent.jmsCom ponentAutoAcknowledge(connectionFactory) ); ctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("file:src/pp?noop=true").to("jms:incomingOrders"); from("jms:incomingOrders")
.choice() .when(header("CamelFileName").endsWith(".xml")) .to("jms:XMLorders") .when(header("CamelFileName").endsWith(".csv")) .to("jms:CSVlorders") .otherwise() .to("jms:BadFile"); from("jms:XMLorders").process(new Processor() { public void process(Exchange arg0) throws Exception { System.out.println("recevd file name is=" + arg0.getIn().getHeader("CamelFileName"));
} }); from("jms:CSVlorders").process(new Processor() { public void process(Exchange arg0) throws Exception { System.out.println("recevd file name is=" + arg0.getIn().getHeader("CamelFileName"));
} });
from("jms:BadFile").process(new Processor() {
} }); } });
ctx.start();
Thread.sleep(10000);
} }