Spring 对发布者的集成回复

Spring Integration reply to Publisher

我在 Spring 中使用 DSL 集成实现了 2 个流程:

第一个流只是一个 HTTP 消息 Publisher,用于无法直接发布到 AMQP 的客户端。 如何让 Publisher 知道 Service 中的消息处理何时失败?

我正在使用 DirectChannel 查看 Publisher ConfirmsService Acks 模式,因此如果我理解正确,Publisher 可以同步接收错误消息。然而 这将阻止 Publisher 直到 Service returns(或抛出异常)。 Spring Integration(因为它是基于 EIP 的)有哪些选项可以处理 Publisher 应该被告知消息处理失败而不被阻止的情况?这更像是一个设计问题。

REST -> AMQPoutboundGateway -> AmqpInboundGateway -> Service

通过使用网关,出站网关将阻止等待来自服务的 'success' 回复。

为入站网关添加错误通道;如果服务失败,将调用错误流程,您可以将该流程配置为 return 调用网关的失败。

如果您不想阻塞,可以使用异步出站网关,但是您需要一些其他机制来 return 将结果发送给调用者。