SubscriberClient.pull - 如何取消请求?

SubscriberClient.pull - how to cancel a request?

public final PullResponse pull(SubscriptionName subscription, boolean returnImmediately, int maxMessages)

根据文档:

@param return立即 如果此字段设置为真,系统将立即响应,即使在 Pull 响应中没有可用于 return 的消息。否则,系统可能会等待(有限的时间)直到至少有一条消息可用,而不是 return 没有消息。

如果客户端不想再等待响应,它可以取消请求。

我有一个线程调用 pull,returnImmediately 标志设置为 false。 如果我中断()线程在拉取请求超时之前有一个(大约 60 秒)延迟,我可以检查中断标志状态。

我看不出有什么方法可以将中断请求传递给调用。我也没有看到配置 "bounded amount of time" 的方法。我错过了什么?

看起来您使用的可能是相当旧版本的 alpha Google Cloud Pub/Sub 客户端库。在版本 ≥ 0.11.0(包括 latest version, 0.17.1)中,不一致不再存在,因为 API 已被更改,您不再需要担心 returnImmediately.