84.8. 示例

在下面的路径中,我们使用 Disruptor 将请求发送到这个 async 队列,以便能够向另一个线程发送 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 中消耗来进一步处理。由于这是一个单元测试,因此它将发送到模拟端点,在单元测试中我们可以进行断言。