2

使用 gcloud-java pubsub API 0.2.6 - 如何在订阅拉取时将“立即返回”标志设置为 TRUE?

4

2 回答 2

2

“立即返回”标志在 gcloud-java pubsub API 中默认设置为 true 以进行拉取调用。尽管该特定库处于 alpha 阶段,但目前无法设置标志,因此可能会发生变化。

于 2016-07-28T14:36:33.333 回答
0

(警告:我是gcloud-java团队的一员)

gcloud-java提供三种拉取消息的方式:

Future<Iterator<ReceivedMessage>> pullAsync(String subscription, int maxMessages);

Iterator<ReceivedMessage> pull(String subscription, int maxMessages);

MessageConsumer pullAsync(String subscription, MessageProcessor callback, PullOption... options);

默认情况下,前两种方法确实将“立即返回”标志设置为 true。

相反,代表用户处理持续拉取的最后一个方法总是将“立即返回”标志设置为 false。一个使用示例可能如下

MessageProcessor messageProcessor = new MessageProcessor() {

  @Override
  public void process(Message message) throws Exception {
    // handle message
  }
};

MessageConsumer consumer = pubsub.pullAsync(subscription, messageProcessor);

// close the consumer to stop pulling
consumer.close();
于 2016-08-22T17:54:39.490 回答