115.11. 使用 multipleConsumers
在本例中,我们定义了两个消费者。
@Test
public void testSameOptionsProducerStillOkay() throws Exception {
getMockEndpoint("mock:foo").expectedBodiesReceived("Hello World");
getMockEndpoint("mock:bar").expectedBodiesReceived("Hello World");
template.sendBody("seda:foo", "Hello World");
assertMockEndpointsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from("seda:foo?multipleConsumers=true").routeId("foo").to("mock:foo");
from("seda:foo?multipleConsumers=true").routeId("bar").to("mock:bar");
}
};
}
由于我们在 seda foo 端点上指定了 multipleConsumers=true,因此这两个消费者可以拥有自己的消息副本作为 pub-sub 风格的消息传递。
由于 Bean 是单元测试的一部分,它们只是发送消息到模拟端点。