57.10. 使用多个Consumers
在这个示例中,我们定义了两个消费者。
@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 端点上 指定了多个Consumers=true,因此我们可以拥有他们自己的消息副本作为一种 pub-sub 风格的消息传递。
因为 Bean 是单元测试的一部分,它们只是将消息发送到模拟端点。