Detour
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.
Example
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..
Wiki Markup |
---|
{snippet:id=e1|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DetourTest.java} |
Using the Spring XML Extensions
Code Block |
---|
<route> <from uri="direct:start"/> <choice> <when> <method bean="controlBean" method="isDetour"/> <to uri="mock:detour"/> </when> </choice> <to uri="mock:result"/> </route> |
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 mock:result
.
For full details, check the example source here:
camel-core/src/test/java/org/apache/camel/processor/DetourTest.java
Include Page | ||||
---|---|---|---|---|
|