Apache Camel中的recipientList和routingSlip的区别?
来源:互联网 发布:电信云计算发展措施 编辑:程序博客网 时间:2024/05/19 05:29
二者都是根据消息来动态的路由到一个多个结点
最后,结果都会路由到bean:bean1,bean:changeInfo,bean:bean2这3个节点上面
简单用法如下:
<route autoStartup="true"><from uri="direct:recipientList" /><recipientList delimiter="," ignoreInvalidEndpoints="true"><header>endlist</header></recipientList></route><route autoStartup="true"><from uri="direct:routingSlip" /><routingSlip uriDelimiter="," ignoreInvalidEndpoints="true"><header>endlist</header></routingSlip></route>
ProducerTemplate pt = context.getBean("camelTemplate", ProducerTemplate.class);pt.send("direct:routingSlip", new Processor(){String endList = "bean:bean1,bean:changeInfo,bean:bean2";public void process(Exchange exch) throws Exception {exch.getIn().setHeader("endlist", endList);}});
最后,结果都会路由到bean:bean1,bean:changeInfo,bean:bean2这3个节点上面
但是,他们是有区别的:
routeSliping是将消息依次传入后面的节点进行处理,不会负责,后面的节点修改的是同一个消息
recipientList 会将消息复制多份发送到后面的节点,后面每个节点处理的消息不是同一份
也就是说,recipientList 效果如同 multicast ,routeSliping效果如同:pipeline
既然这样recipientList支持在线程池里面运行,而routeSliping不支持用线程池运行
6 0
- Apache Camel中的recipientList和routingSlip的区别?
- Apache Camel的routingSlip简单示例
- apache camel 的 split 和 aggregate
- Apache Camel异常事务的实例和分析 -- 总述
- Apache Camel异常事务的实例和分析 -- 多线程事务
- Apache Camel TypeConverter的使用
- Apache Camel
- Apache Camel
- Apache Camel的sample的简单示例
- 关于apache camel的消息转发效率
- Apache Camel的split使用示例
- Apache Camel的aggregate简单示例
- Apache Camel的multicast简单示例
- Apache Camel配置SSL的rest
- Apache Camel配置SSL的CXF
- Apache Camel 的一个file组件问题
- 基于Apache Camel的EIP集成
- wamp中Apache和php中的php.ini的区别
- SQL按日期Datatime来比较大小
- Jedis使用示例
- 【算法】LRU CACHE
- C语言字符串操作常用库函数
- PHP向客户端响应JSON格式数据
- Apache Camel中的recipientList和routingSlip的区别?
- Java易犯错误(转)
- 微信支付
- ios开发通知与消息机制
- Socket连接与HTTP连接
- [leetcode 274 275]H-Index I II
- 第7周工作周报
- SCHED_DEALINE调度类分析(二)
- shop++ CriteriaQuery 数据库查询语句