在谷歌酒吧订阅短信是否遵守ack截止日期



我在创建订阅时设置了setAckDeadlineSeconds(5),但当启用消息排序时,ackDeadlineSeconds不起作用。如果经过的时间超过确认截止日期,则不会重新发送消息。启用消息排序时,这是所需的行为吗?

我正在创建订阅如下:

Subscription request = Subscription.newBuilder()
.setName(subscriptionName.toString())
.setTopic(projectTopicName.toString())
.setEnableMessageOrdering(true)
.setAckDeadlineSeconds(5)
.build();

启用messasge订购时,应遵守确认截止日期。需要注意的一点是,客户端库管理ack扩展,因此不使用在创建订阅时设置的ack截止日期。他们默认将ack截止日期延长一个小时。您提到您调用setMaxAckExtensionPeriod,尽管您只在getSubscriber而不是createSubscriber的模拟器模式下这样做,后者是您正在调用的方法(尽管您可能已经更新了代码,以便在任何地方都设置它(。

如果在验证您确实设置了最大ack扩展后,仍然没有重新发送消息,那么最好创建一个支持案例。对于包含您的项目和订阅信息的案例,支持人员可以查看那些没有重新发送的消息发生了什么。

最新更新