82.7. 例
以下のルートでは Disruptor を使用してリクエストをこの非同期キューに送信し、別のスレッドでさらに処理するために fire-and-forget メッセージを送信し、このスレッド内の定数応答を元の呼び出し元に返します。
public void configure() throws Exception {
from("direct:start")
// send it to the disruptor that is async
.to("disruptor:next")
// return a constant response
.transform(constant("OK"));
from("disruptor:next").to("mock:result");
}
ここでは Hello World のメッセージを送信し、応答が OK であることを想定します。
Object out = template.requestBody("direct:start", "Hello World");
assertEquals("OK", out);
「Hello World」メッセージは、さらなる処理のために、別のスレッドの Disruptor から消費されます。これはユニットテストからのものであるため、ユニットテストでアサーションを実行できるモックエンドポイントに送信されます。