45.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 是单元测试的一部分,它们只是将消息发送到模拟端点。