...
This is best illustrate by an example. In the code below we create a new class called MyRouteBuilder
that extends the org.apache.camel.builder.RouteBuilder
from Camel.
In the configure
method the Java DSL is at our disposal.
Code Block |
---|
language | java |
---|
linenumbers | javatrue |
---|
|
import org.apache.camel.builder.RouteBuilder;
/**
* A Camel Java DSL Router
*/
public class MyRouteBuilder extends RouteBuilder {
/**
* Let's configure the Camel routing rules using Java code...
*/
public void configure() {
// here is a sample which processes the input files
// (leaving them in place - see the 'noop' flag)
// then performs content based routing on the message using XPath
from("file:src/data?noop=true")
.choice()
.when(xpath("/person/city = 'London'"))
.to("file:target/messages/uk")
.otherwise()
.to("file:target/messages/others");
}
}
|
In the configure
method we can define Camel Routes. In the example above we have a single route, which pickup Files, (eg the from).
Code Block |
---|
|
from("file:src/data?noop=true")
|
Then we use the Content Based Router (eg the choice) to route the message depending if the person is from London or not.
Code Block |
---|
|
.choice()
.when(xpath("/person/city = 'London'"))
.to("file:target/messages/uk")
.otherwise()
.to("file:target/messages/others");
|
...
...
See Also