第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