Recipient List camel并行
图例
官网地址
说明
Recipient List 和 Muticas 很类似,都是把消息复制成多份,然后执行
SpringXML事例
<route><from uri="direct:a" /><!-- use comma as a delimiter for String based values --><recipientList delimiter=","><header>myHeader</header></recipientList>
</route>
其中delimiter 表示用来作为myHeader分割的正则表达式,上面的意思就是说,当执行到
direct:a的时候,把myHeader使用delimiter分割出来的字符串,作为下面执行的路由地址
java事例
from("direct:a").recipientList(header("myHeader").tokenize(","));
使用tokenize来分割路由uri
from("direct:a").recipientList(header("myHeader"), ",");
Sending to multiple recipients in parallel 并行处理
recipientList支持并行处理
java事例
from("direct:a").recipientList(header("myHeader")).parallelProcessing();
Spriong事例
<route><from uri="direct:a"/><recipientList parallelProcessing="true"><header>myHeader</header></recipientList> </route>
stopOnException 异常停止
recipientList支持配置出异常是否停止参数
- java事例
from("direct:a").recipientList(header("myHeader")).stopOnException(); SpringXML事例
<route><from uri="direct:a"/><recipientList stopOnException="true"><header>myHeader</header></recipientList> </route>
parallelProcessing 可以和 stopOnException 并用
ignoreInvalidEndpoints 忽略错误的uri地址
java事例
from("direct:a").recipientList(header("myHeader")).ignoreInvalidEndpoints();
SpringXML事例
<route><from uri="direct:a"/><recipientList ignoreInvalidEndpoints="true"><header>myHeader</header></recipientList> </route>
AggregationStrategy 聚合策略
你可以在recipientList之后进行聚合,一般用的比较少,它的用处是,如果您正在
使用请求应答消息接收者可以聚合的回复,默认情况下,camel会使用最后一次的响应作为聚合消息。
java事例
from("direct:a").recipientList(header("myHeader")).aggregationStrategy(new MyOwnAggregationStrategy()).to("direct:b");
MyOwnAggregationStrategy需要集成一个借口并实现aggregate方法,如下:
@Override
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {String uri = newExchange.getProperty(Exchange.RECIPIENT_LIST_ENDPOINT, String.class);...
}
在上面的方法中可以自定义如何出来并行路由响应的结果。
- SpringXML事例
```
<route><from uri="direct:a"/><recipientList strategyRef="myStrategy"><header>myHeader</header></recipientList><to uri="direct:b"/>
</route><bean id="myStrategy" class="com.mycompany.MyOwnAggregationStrategy"/>
```
timeout 超时设置
mutilcas并行可设置总的一个超时
Recipient List camel并行相关推荐
- 简化软件集成:一个Apache Camel教程
本文来自于阮一峰,文章主要讲解了构建的流程,每个步骤介绍的较为详细,希望对大家有帮助. 软件很少(如果有的话)存在于信息真空中.至少,这是我们软件工程师可以为我们开发的大多数应用程序做出的假设. 在任 ...
- camel in action
FIRST STEPS. .......................................................1 1 Meeting Camel 3 1.1 Introduc ...
- apache.camel_Apache Camel K 1.0在这里–您为什么要关心
apache.camel 昨天我们发布了Apache Camel K 1.0,并在社交媒体和Camel网站上宣布了该版本. 那么,骆驼K是什么,为什么你要在乎呢? 这是一个很好的问题,我想通过提及伟大 ...
- apache camel_Apache Camel中的短重试与长重试
apache camel <骆驼设计模式>一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践. 每种模式都基于真实的用例,并提供了Camel特定 ...
- apache camel_Apache Camel的性能调整思路
apache camel 时不时地,我会以Camel速度较慢的观点来询问有关优化Camel应用程序的问题. 骆驼只是连接不同系统的粘合剂,路由引擎全部在内存中,并且不需要任何持久状态. 因此,在99% ...
- apache.camel_Apache Camel 2.16发布–十大亮点
apache.camel Apache Camel 2.16于上周五发布. 这篇博客文章是我尝试在此新版本中进行前10名(加1作为奖励)的亮点. 1.动态到 来自骆驼用户的最常见的常见问题是,如何将消 ...
- apache camel_使用Apache Camel发布/订阅模式
apache camel 发布/订阅是一种简单的消息传递模式,其中,发布者将消息发送到某个频道,而无需知道谁将接收消息. 然后,通道负责将消息的副本传递给每个订户. 此消息传递模型可以创建松耦合和可伸 ...
- Apache Camel中的短重试与长重试
<骆驼设计模式>一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践. 每个模式都基于真实的用例,并提供了Camel特定的实现细节和最佳实践. 为 ...
- Apache Camel的性能调整思路
时不时地,我会以Camel速度较慢的说法来询问有关优化Camel应用程序的问题. 骆驼只是连接不同系统的粘合剂,路由引擎全都在内存中,并且不需要任何持久状态. 因此,在99%的情况下,性能问题是由于其 ...
最新文章
- Java非阻塞I/O模型之NIO说明
- R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss
- 传统IDC转型有了新思路 Zstack除了混合云还有托管云
- 架构师之路16年精选50篇
- 云际视界视频会议开创远程商务新模式
- H.264码流结构解析
- Git常用命令与基本操作
- 让我放弃FastDFS拥抱MinIO的8个瞬间
- Request header field content-type is not allowed by Access-Control-Allow-Headers(请求头设置问题)
- ODOO v10.0 自动生成财务凭证的科目设置
- Java魔法堂:自定义和解析注解
- DBD::Oracle的库文件报失问题
- DL_C2_week1_1(Initialization)神经网络模型的初始化
- Python接口自动化之使用requests库发送http请求
- 记录下在linux下编译java源程序
- 批处理 文件注释_批处理文件注释
- input file 选择图片并显示
- 阿里云、腾讯云、百度云、京东云、华为云、他们之间的不同之处?
- dbz-ui试用体验(connecting mysql...)
- 选择时间检定仪应该注意这11点