camel模式:在WS调用之前保存交换体

时间:2016-07-07 16:23:59

标签: routes apache-camel

我有一个骆驼服务:

  1. 暴露肥皂WS
  2. 调用REST服务以获取信息
  3. 根据步骤#2的结果,对步骤#1发送的数据执行一个操作或其他操作
  4. 我的问题是如何将数据保存在客户端在步骤#1发送的交换体中,以便我在第3步中获得它?

2 个答案:

答案 0 :(得分:0)

一个选项是您可以使用MQ服务临时保存客户端在步骤#1发送的交换体中的数据。并在需要时使用它。

答案 1 :(得分:0)

您可以使用Content Enricher模式和自定义AggregationStrategy来实现它。根据您的喜好或需要,AggregationStrategy可以将其中一条消息保存为合并Exchange的属性。如果不想创建AggregationStrategy代码,只需重用现有的GroupedMessageAggregationStrategy将两个消息体组合成List。无论哪种方式,结果您都可以访问原始消息和REST响应。