The Detour from the EIP patterns allows you to send messages through additional steps if a control condition is met. It can be useful for turning on extra validation, testing, debugging code when needed.
In this example we essentially have a route like
from("direct:start").to("mock:result") with a conditional detour to the
mock:detour endpoint in the middle of the route..
from("direct:start").choice() .when().method("controlBean", "isDetour").to("mock:detour").end() .to("mock:result");
Using the Spring XML Extensions
whether the detour is turned on or off is decided by the
ControlBean. So, when the detour is on the message is routed to
mock:detour and then
mock:result. When the detour is off, the message is routed to
For full details, check the example source here: