波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Google PubSub重新發送的消息未被處理的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我使用了Google PubSub文檔中的訂閱者示例
我所做的唯一修改是注釋掉了對消息的確認。

訂閱者不再向隊列中添加消息,而應根據Google云控制臺中設置的間隔重新發送消息。

為什么會發生這種情況,還是我遺漏了什么?

public class SubscriberExample {

use the default project id
private static final String PROJECT_ID = ServiceOptions.getDefaultProjectId();

private static final BlockingQueue<PubsubMessage> messages = new LinkedBlockingDeque<>();

static class MessageReceiverExample implements MessageReceiver {



    @Override
    public void receiveMessage(PubsubMessage message, AckReplyConsumer consumer) {
        messages.offer(message);

        //consumer.ack();
    }
}
/** Receive messages over a subscription. */
public static void main(String[] args) throws Exception {
    // set subscriber id, eg. my-sub
    String subscriptionId = args[0];
    ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of(
            PROJECT_ID, subscriptionId);
    Subscriber subscriber = null;
    try {
        // create a subscriber bound to the asynchronous message receiver
        subscriber = Subscriber.newBuilder(subscriptionName, new MessageReceiverExample()).build();
        subscriber.startAsync().awaitRunning();
        // Continue to listen to messages
        while (true) {
            PubsubMessage message = messages.take();
            System.out.println("Message Id: " + message.getMessageId());
            System.out.println("Data: " + message.getData().toStringUtf8());
        }
    } finally {
       if (subscriber != null) {
            subscriber.stopAsync();
        }
    }
}
}

JAVA

當您不確認消息時,推薦答案客戶端庫將對該消息調用modifyAckDeadline,直到maxAckExtensionPeriod傳遞。默認情況下,此值為一小時。因此,如果您不對消息進行確認/取消確認或更改此值,則消息很可能在一小時內不會重新傳遞。如果要更改最大確認擴展期限,請在構建器上進行設置:

subscriber = Subscriber.newBuilder(subscriptionName, new MessageReceiverExample())
    .setMaxAckExtensionPeriod(Duration.ofSeconds(60))
    .build();               

還值得注意的是,如果不對消息進行ACK或NACK,則flow control可能會阻止更多消息的傳遞。默認情況下,Java客戶端庫允許最多1000條消息未完成,即等待ACK或NACK或等待最大ACK擴展期限過去。

這篇關于Google PubSub重新發送的消息未被處理的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Google PubSub 發送 未被 消息
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定