Google cloud platform google pub sub中的消息订购是否遵守ack截止日期?

Google cloud platform google pub sub中的消息订购是否遵守ack截止日期?,google-cloud-platform,google-cloud-pubsub,Google Cloud Platform,Google Cloud Pubsub,我在创建订阅时设置了setAckDeadlineSeconds(5),但当启用消息排序时,ackDeadlineSeconds不起作用。如果经过的时间超过ack截止日期,则不会重新传递消息。启用消息排序时,这是所需的行为吗 我正在创建订阅,如下所示: Subscription request=Subscription.newBuilder() .setName(subscriptionName.toString()) .setTopic(projectTopicName.toString())

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

我正在创建订阅,如下所示:

Subscription request=Subscription.newBuilder()
.setName(subscriptionName.toString())
.setTopic(projectTopicName.toString())
.setEnableMessageOrdering(真)
.SetAckDeadLines秒数(5)
.build();

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


如果在确认您确实设置了最大确认扩展名之后,您仍然没有收到重新传递的消息,最好是。对于包含您的项目和订阅信息的案例,支持人员可以查看未重新发送的邮件的情况。

您使用什么进行订阅?如果您使用的是云发布/订阅客户端库,它将使用自己的ack截止日期,这与订阅中配置的内容无关。。并将此集放入订阅服务器。setMaxAckExtensionPeriod(Duration.of Seconds(5))。您可以演示如何使用此订阅以及如何连接到它吗?@guillaumeblaquiere这里是一个示例项目。在这个例子中,我没有ack或nack消息1,我希望它能被重新发送。而消息永远不会被重新发送?如果是,多少次之后?谢谢你的澄清。我现在明白了。另外,在更新测试用例之后,它现在正在工作。我也测试了指数退避,它正在工作。