Dynamic Routing – making routing decisions at runtime
When you need to route to a sequence of endpoints, and that list may change based on the response from any of those endpoints, a Dynamic Router can be a good solution. Similar to a Routing Slip, where a list of endpoints to route to is created and executed, the Dynamic Router can alter the next endpoint to route to, based on the results of previous endpoints via a feedback loop.
This recipe will show you how to efficiently route a message to endpoints by calling your code to make the routing decisions at runtime.
Getting ready
The Java code for this recipe is located in the org.camelcookbook.routing.dynamicrouter
package. The Spring XML files are located under src/main/resources/META-INF/spring
and prefixed with dynamicRouter
.
How to do it...
There are two steps for a Dynamic Router: create a route consumer and optionally transform the message in preparation for dynamic routing, and call the Dynamic Router Expression (most commonly a Java...