spring 集成 - 编排一系列休息电话
spring integration - orchestrating series of rest calls
我有一个需要执行以下操作的用例:
- 收到请求后,调用服务调用 A、B、C、D,然后发送响应
- 在每次服务调用之间,在调用前后记录
- B&C可以在A之后调用,但是D必须在B&C都完成后才能调用
- 为所有错误处理和发送响应实施通用错误通道
- 能够跳过步骤或从给定步骤开始。将请求识别步骤的元数据。
目前我通过在每个步骤之间有一个消息通道来实现,这意味着每个步骤都从其入站通道接收请求,一旦完成任务,它就会发布到下一步的入站通道。之前和之后的日志记录是通过 wireTap 实现的。
最好的方法是什么?
谢谢,
- 通过
WireTap
记录。你明白了!
- "generic error channel" - 入站网关有一个
errorChannel
选项来捕获所有下游异常并处理它们。
- "B & C can be called after A..."。听起来像
RecipientListRouter
- 所以您向所有订阅的频道发送相同的消息。尽管您也可以使用 PublishSubscribeChannel
。
- 跳过您可以使用
Filter
及其拒绝通道实现的逻辑。尽管 router
也可能对您有用。
我有一个需要执行以下操作的用例:
- 收到请求后,调用服务调用 A、B、C、D,然后发送响应
- 在每次服务调用之间,在调用前后记录
- B&C可以在A之后调用,但是D必须在B&C都完成后才能调用
- 为所有错误处理和发送响应实施通用错误通道
- 能够跳过步骤或从给定步骤开始。将请求识别步骤的元数据。
目前我通过在每个步骤之间有一个消息通道来实现,这意味着每个步骤都从其入站通道接收请求,一旦完成任务,它就会发布到下一步的入站通道。之前和之后的日志记录是通过 wireTap 实现的。
最好的方法是什么?
谢谢,
- 通过
WireTap
记录。你明白了! - "generic error channel" - 入站网关有一个
errorChannel
选项来捕获所有下游异常并处理它们。 - "B & C can be called after A..."。听起来像
RecipientListRouter
- 所以您向所有订阅的频道发送相同的消息。尽管您也可以使用PublishSubscribeChannel
。 - 跳过您可以使用
Filter
及其拒绝通道实现的逻辑。尽管router
也可能对您有用。