答えて

1

プッシュコール用のgcloud-java pubsub APIでは、「return immediately」フラグはデフォルトでtrueに設定されています。この時点でフラグを設定する方法はありませんが、その特定のライブラリはアルファになっているため、変更する可能性があります。

+0

メッセージが長期間表示されない場合は、相当なコストオーバーヘッドが発生します。うまくいけば、GAのデフォルト(false)に戻ります。 –

+0

この回答は不正確です。 'MessageConsumer pullAsync(Stringサブスクリプション、MessageProcessorコールバック、PullOption ...オプション)'はデフォルトで "return immediately"フラグをfalseに設定します。 – mziccard

0

(警告:私はgcloud-javaチームの一員):最初の2つの方法は、デフォルトでtrueに「すぐ戻る」フラグを設定してください

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

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

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

gcloud-javaは引っ張ったメッセージの三つの方法を提供します。

逆に、ユーザーに代わって連続的なプルを処理する最後の方法は、常に「すぐに戻る」フラグを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(); 
関連する問題