gcloud-java pubsub API :如何设置 "Return Immediately" 标志
gcloud-java pubsub API : how to set "Return Immediately" flag
使用 gcloud-java pubsub API 0.2.6 - 如何通过订阅拉取将 "Return Immediately" 标志设置为 TRUE?
"return immediately" 标志在 gcloud-java pubsub API 中默认设置为 true 以进行拉取调用。目前无法设置标志,但该特定库处于 alpha 阶段,因此可能会改变。
(注意:我是 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);
前两种方法默认将 "return immediately" 标志设置为 true。
相反,代表用户处理连续拉取的最后一个方法始终将 "return immediately" 标志设置为 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();
使用 gcloud-java pubsub API 0.2.6 - 如何通过订阅拉取将 "Return Immediately" 标志设置为 TRUE?
"return immediately" 标志在 gcloud-java pubsub API 中默认设置为 true 以进行拉取调用。目前无法设置标志,但该特定库处于 alpha 阶段,因此可能会改变。
(注意:我是 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);
前两种方法默认将 "return immediately" 标志设置为 true。
相反,代表用户处理连续拉取的最后一个方法始终将 "return immediately" 标志设置为 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();