Spring Cloud Stream + RabbitMQ Publisher 确认

Spring Cloud Stream + RabbitMQ Publisher confirm

我打算在我的项目中使用 Spring Cloud Stream。 是否可以使用 Publisher Confirms(又名 Publisher Acknowledgements),即如 http://docs.spring.io/spring-amqp/reference/html/_reference.html#cf-pub-conf-ret 中所述注册确认回调?或者是否有其他可能从 RabbitMQ 收到它已收到来自客户端的消息的确认?

否;它不受支持。但是,您可以在生产者上设置 transactional 标志,这会在发送失败时引发异常。

虽然发布者确认通常比交易多"faster",但只有当您发送一堆消息并稍后等待他们的确认时才会出现这种情况。

因为我们在这里流;您将发送一条消息,然后等待确认。这不会比仅使用事务快得多。

如果你想使用确认;您将不得不直接使用 RabbitTemplate 或 Spring 集成出站通道适配器,而不是活页夹。

我看到现在支持了。

https://cloud.spring.io/spring-cloud-static/spring-cloud-stream-binder-rabbit/3.0.3.RELEASE/reference/html/spring-cloud-stream-binder-rabbit.html#rabbit-prod-props

参见属性 confirmAckChannel