春季整合-安排一系列的休息电话

时间:2019-07-01 05:04:49

标签: spring-integration spring-integration-dsl

我有一个用例,需要执行以下操作:

  • 收到请求后,拨打服务电话A,B,C,D,然后发送响应
  • 在每个服务调用之间,在调用之前和之后记录
  • B和C可以在A之后调用,但是必须在B和C都完成之后才能调用D。
  • 为所有错误处理实现通用错误通道并发送响应
  • 能够跳过步骤或从给定步骤开始。标识该步骤的元数据将在请求中。

当前,我已经通过在每个步骤之间设置一个消息通道来实现,这意味着每个步骤都从其入站通道接收请求,并且一旦完成任务,它就会在下一步的入站通道上发布。通过wireTap可以实现之前和之后的记录。

什么是最好的方法?

谢谢

1 个答案:

答案 0 :(得分:0)

  1. 通过WireTap登录。知道了!
  2. “通用错误通道”-入站网关具有一个errorChannel选项,可以捕获所有下游异常并进行处理。
  3. “可以在A ...之后调用B&C”。听起来像RecipientListRouter-因此您将相同的消息发送到所有订阅的频道。尽管您也可以使用PublishSubscribeChannel
  4. 可以使用Filter及其拒绝渠道来实现跳过逻辑。尽管router也可以帮您解决问题。