RecipientList Apache Camel EIP

时间:2014-03-28 03:55:17

标签: apache-camel

我正在尝试在Camel中使用RecipientList模式,但我想我可能会忽略这一点。以下代码仅显示一个屏幕条目:

@Override
protected RouteBuilder createRouteBuilder() {
    return new RouteBuilder() {
        public void configure() {
            from("direct:start").recipientList(bean(MyBean.class, "buildEndpoint"))
                    .streaming()
                    .process(new Processor() {
                        @Override
                        public void process(Exchange exchange) throws Exception {
                            System.out.println(exchange.getExchangeId());
                        }
                    });
        }
    };
}

public static class MyBean {
    public static String[] buildEndpoint() {
        return new String[] { "exec:ls?args=-la", "exec:find?args=."};
    }
}

我还尝试从buildEndpoint()方法返回一个逗号分隔的字符串,并在recipientList()组件定义的表达式中使用tokenize(“,”),但我仍然得到相同的结果。我错过了什么?

1 个答案:

答案 0 :(得分:0)

预期,收件人列表会将相同邮件的副本发送给X收件人。之后执行的处理器在收件人列表完成后执行,因此只执行一次。