第 12 章 系统管理
摘要
系统管理模式描述了如何监控、测试和管理消息传递系统。
12.1. detour
detour
第 3 章 企业级集成模式简介 中的 Detour 允许您在满足控制条件时通过额外的步骤发送消息。在需要时,启用额外验证、测试、调试代码会很有用。
Example
在本例中,我们基本上有一个类似于 from ("direct:start").to ("mock:result")
的路由,有条件 detour 到路由中间 mock:detour
端点。
from("direct:start").choice() .when().method("controlBean", "isDetour").to("mock:detour").end() .to("mock:result");
<route> <from uri="direct:start"/> <choice> <when> <method bean="controlBean" method="isDetour"/> <to uri="mock:detour"/> </when> </choice> <to uri="mock:result"/> </split> </route>
ControlBean
决定该 detour 是否处于打开状态。因此,当消息进入时,信息被路由到 mock:detour
,然后 mock:result
。当 detour 变为 off 时,消息会被路由到 mock:result
。
有关完整详情,请查看示例源:
camel-core/src/test/java/org/apache/camel/processor/DetourTest.java