我使用 DSL 在 Spring Integration 中实现了 2 个流程:
- REST -> AMQP -> 消费者 -> 服务
- AMQP -> 消费者 -> 服务
第一个流程只是一个 HTTP 消息发布器,用于无法直接发布到 AMQP 的客户端。消息处理在Service中失败时,如何让发布者知道?
我正在使用DirectChannel查看Publisher Confirms和Service Acks模式,以便Publisher可以同步接收错误消息,如果我理解正确的话。但是,这将阻止发布者,直到服务返回(或抛出异常)。Spring Integration 中有哪些选项(因为它是基于 EIP 的)来处理应该通知发布者消息处理失败而不被阻止的情况?这也是一个设计问题。