我试图在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(","),但仍然得到相同的结果。我遗漏了什么?
发布于 2014-03-28 14:09:26
这是预期的,收件人列表将同一邮件的副本发送给X个收件人。之后执行的处理程序是在完成收件人列表之后执行的,因此只执行一次。
https://stackoverflow.com/questions/22703893
复制相似问题