Content Based Routing
When you need to route messages based on the content of the message, and/or based on the headers or properties associated with the message, using Camel's Content Based Router EIP is a great way to do that.
Content Based Routing and Filtering are very similar. A Content Based Router has multiple predicates, and the contained steps are performed on the first predicate that the message matches, or the optional otherwise
statement if none matches (similar to an if () {..} else if () {..} else {..}
statement in Java).
Camel's Filter EIP tests against a single predicate, executing the contained processing steps only if the message matches that predicate. The equivalent of a Filter in Java would be a single if
statement.
In this recipe, we will see how to use a Content Based Router to route a message to one of the several destinations based on the content (the body) of the message.
Getting ready
The Java code for this recipe is located in the org.camelcookbook.routing.contentbasedrouter...