Filtering out unwanted messages
When you need to perform a sequence of steps only when a message matches a certain condition (Predicate), then a Filter is a good option.
Content Based Routing and Filtering are very similar. Filtering processes a message only if it matches the single predicate provided (much like a single if
statement).
A Content Based Router routes a message based on the first of the multiple predicates, or the optional otherwise
statement if none of the provided predicates matched (similar to an if () {..} else if () {..} else {..}
statement in Java).
This recipe will show you how to perform message processing steps only on those messages that match a specified predicate.
Getting ready
The Java code for this recipe is located in the org.camelcookbook.routing.filtering
package. The Spring XML files are located under src/main/resources/META-INF/spring
and prefixed with filtering
.
How to do it...
Create a filter
statement followed by a predicate using any of the Camel Expression...