我正在使用Spring Cloud Stream发送和接收来自Google Pub/Sub主题的消息,并有一个关于发布的问题。如果我有一个@Output MessageChanel,我调用channel.send(message(,并且调用正常返回(没有异常(,我能保证Pub/Sub现在有消息吗?我正在寻找类似于";持久的";JMS系统中的消息保证。
我似乎记得有一些批处理参数和/或异步设置可以配置用于发布,我还想知道这一切是如何影响保证的(如果有的话(。这些似乎会使通过channel.send.发送单个消息的任何保证变得复杂
谢谢。
默认情况下,Cloud Pub/Sub的Spring集成异步发布是正确的。在Spring Integration级别上,可以使用PubSubMessageHandler.setSync(boolean)
setter控制同步/异步开关。在该级别上,还可以在异步模式下设置发布回调。不幸的是,现在没有办法从Spring Cloud Stream集成中更改此标志。
我有一个PR要添加第一个功能(关闭异步(——https://github.com/spring-cloud/spring-cloud-gcp/pull/2473