第 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