Spring Integration reply to Publisher



我在Spring Integration中使用DSL:实现了两个流

  • REST->AMQP->消费者->服务
  • AMQP->消费者->服务

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

我正在查看DirectChannelPublisher ConfirmsService Acks模式,以便Publisher可以同步接收错误消息,如果我正确理解的话。然而这将阻止发布服务器,直到服务返回(或抛出异常(。Spring Integration中有哪些选项(因为它是基于EIP的(来处理Publisher应该被通知消息处理失败而不被阻止的情况?这也是一个设计问题。

REST -> AMQPoutboundGateway -> AmqpInboundGateway -> Service

通过使用网关,出站网关将阻止等待来自服务的"成功"答复。

向入站网关添加一个错误通道;如果服务失败,错误流将被调用,您可以配置该流将失败返回到调用网关。

如果不想阻塞,可以使用异步出站网关,但随后需要其他机制将结果返回给调用者。

最新更新