【发布时间】:2013-11-10 12:47:24
【问题描述】:
所以,在阅读了一些文档并在这里得到了你们的很多帮助之后,我终于实现了一个动态选择端点的收件人列表(动态收件人列表):
在我的代码中,MainApp_A 每 10 秒生成一次报告,我希望它同时将报告发送到所有服务器,而不是一一进行。因此我开发了以下路线。
MainApp_A
main.addRouteBuilder(new RouteBuilder(){
@Override
public void configure() throws Exception {
from("direct:start").multicast().parallelProcessing()
.beanRef("recipientListBean", "route").end()
.log("${body}");
}
});
RecipientListBean
@RecipientList
public Set<String> route(String body) {
return servers; //returns a collection of several severs
}
我还查看了多播模式和动态路由的文档:
现在我有几个问题,我很困惑。所以我有几个问题:
- 接收者动态列表是否只是多播模式与动态路由模式的结合点?
- 单独的 multicast() 调用是纯顺序的,对吗?使用 multicast() 和 recipientList() 有什么区别?
- 为了使多播() 和收件人列表() 一致,我必须使用parallelProcessing()。就我而言,哪个更有效?
【问题讨论】:
标签: java apache apache-camel multicast