如何设置超长谷歌pubsub发布者和订阅者?

时间:2017-07-02 12:47:28

标签: java publish-subscribe google-cloud-pubsub timeoutexception

在我的java代码中,我使用Google -pubsub。

如何为

设置超时

订阅者 - 等待消息直到超时到期? (我该如何设置重试策略?)

发布商 - 等到timeout次发送消息。 (我该如何设置重试策略?)

我看到了这个post,但没有设法将js帖子翻译成java

以下是我设置子

的方法
    final Subscriber subscriber = Subscriber
            .defaultBuilder(subscriptionName, receiver)
            .setChannelProvider(channelProvider)
            .build();

和pub

    final Publisher publisher = Publisher.defaultBuilder(topicName)
            .setChannelProvider(channelProvider)
            .build();

1 个答案:

答案 0 :(得分:1)

使用最新的Cloud Pub/Sub client library,您无需在订阅服务器中设置超时或重试策略。这些都是为您处理的,您只需将MessageReceiver传递给defaultBuilder即可。当消息可用时,它们将被发送到receiveMessage。如果您的订阅因任何不可重试的原因而停止,则订阅者将被关闭。您可以通过在订阅服务器上调用addListener来收听这些通知。

在发布商上,您可以在构建器中使用setRetrySettings。特别是,你想在RetrySettings.Builder上setTotalTimeout。发布者将在可执行的错误上重试发布调用,直到此总截止日期。