第12章 システム管理
概要
システム管理パターンは、メッセージングシステムを監視、テスト、および管理する方法を表しています。
12.1. Detour
Detour
3章エンタープライズ統合パターンの導入 からの Detour では、制御条件が満たされる場合に追加のステップによりメッセージを送信できます。これは、追加の検証、テスト、および必要時のコードのデバッグを行う場合に役立ちます。

例
この例では、ルートの途中で mock:detour のエンドポイントまで条件付きで迂回する from("direct:start").to("mock:result") のようなルートを基本的に持っています。
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>
detour がオンまたはオフであるかどうかは ControlBean によって決定されます。したがって、detour がオンのとき、メッセージは mock:detour にルーティングされ、続いて mock:result にルーティングされます。detour がオフになると、メッセージは mock:result にルーティングされます。
詳細は、以下のサンプルソースを確認してください。
camel-core/src/test/java/org/apache/camel/processor/DetourTest.java