图例

官网地址

说明

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并行相关推荐

  1. 简化软件集成:一个Apache Camel教程

    本文来自于阮一峰,文章主要讲解了构建的流程,每个步骤介绍的较为详细,希望对大家有帮助. 软件很少(如果有的话)存在于信息真空中.至少,这是我们软件工程师可以为我们开发的大多数应用程序做出的假设. 在任 ...

  2. camel in action

    FIRST STEPS. .......................................................1 1 Meeting Camel 3 1.1 Introduc ...

  3. apache.camel_Apache Camel K 1.0在这里–您为什么要关心

    apache.camel 昨天我们发布了Apache Camel K 1.0,并在社交媒体和Camel网站上宣布了该版本. 那么,骆驼K是什么,为什么你要在乎呢? 这是一个很好的问题,我想通过提及伟大 ...

  4. apache camel_Apache Camel中的短重试与长重试

    apache camel <骆驼设计模式>一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践. 每种模式都基于真实的用例,并提供了Camel特定 ...

  5. apache camel_Apache Camel的性能调整思路

    apache camel 时不时地,我会以Camel速度较慢的观点来询问有关优化Camel应用程序的问题. 骆驼只是连接不同系统的粘合剂,路由引擎全部在内存中,并且不需要任何持久状态. 因此,在99% ...

  6. apache.camel_Apache Camel 2.16发布–十大亮点

    apache.camel Apache Camel 2.16于上周五发布. 这篇博客文章是我尝试在此新版本中进行前10名(加1作为奖励)的亮点. 1.动态到 来自骆驼用户的最常见的常见问题是,如何将消 ...

  7. apache camel_使用Apache Camel发布/订阅模式

    apache camel 发布/订阅是一种简单的消息传递模式,其中,发布者将消息发送到某个频道,而无需知道谁将接收消息. 然后,通道负责将消息的副本传递给每个订户. 此消息传递模型可以创建松耦合和可伸 ...

  8. Apache Camel中的短重试与长重试

    <骆驼设计模式>一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践. 每个模式都基于真实的用例,并提供了Camel特定的实现细节和最佳实践. 为 ...

  9. Apache Camel的性能调整思路

    时不时地,我会以Camel速度较慢的说法来询问有关优化Camel应用程序的问题. 骆驼只是连接不同系统的粘合剂,路由引擎全都在内存中,并且不需要任何持久状态. 因此,在99%的情况下,性能问题是由于其 ...

最新文章

  1. Java非阻塞I/O模型之NIO说明
  2. R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss
  3. 传统IDC转型有了新思路 Zstack除了混合云还有托管云
  4. 架构师之路16年精选50篇
  5. 云际视界视频会议开创远程商务新模式
  6. H.264码流结构解析
  7. Git常用命令与基本操作
  8. 让我放弃FastDFS拥抱MinIO的8个瞬间
  9. Request header field content-type is not allowed by Access-Control-Allow-Headers(请求头设置问题)
  10. ODOO v10.0 自动生成财务凭证的科目设置
  11. Java魔法堂:自定义和解析注解
  12. DBD::Oracle的库文件报失问题
  13. DL_C2_week1_1(Initialization)神经网络模型的初始化
  14. Python接口自动化之使用requests库发送http请求
  15. 记录下在linux下编译java源程序
  16. 批处理 文件注释_批处理文件注释
  17. input file 选择图片并显示
  18. 阿里云、腾讯云、百度云、京东云、华为云、他们之间的不同之处?
  19. dbz-ui试用体验(connecting mysql...)
  20. 选择时间检定仪应该注意这11点

热门文章

  1. 上海腾享-演播室LED平板灯-演播室恒力铰链吊杆
  2. 通俗浅显的理解promise中的then
  3. 知识变现海哥|知识变现五大赛道,你选哪一道?
  4. sketch生成android布局,让 Sketch 小部件布局如此轻松:Compo
  5. Unity3D: 做自己的卡牌游戏 (一)
  6. 6、基带信号的发送和接收
  7. 爬虫的智能化解析之使用Diffbot自动解析页面
  8. 6、数据库表的关系、Java对象的关系、关联查询(一对多)、延迟加载访问
  9. 用纯CSS让子DIV自适应父DIV的高度
  10. Android-activity堆栈及管理