第八章: TTL(Time To Live)

  • TTL 全稱 Time To Live(存活時(shí)間/過(guò)期時(shí)間)
  • 當(dāng)消息到達(dá)存活時(shí)間后,還沒(méi)有被消費(fèi),會(huì)被自動(dòng)清除
  • RabbitMQ可以對(duì)消息設(shè)置過(guò)期時(shí)間,也可以對(duì)整個(gè)隊(duì)列(Queue)設(shè)置過(guò)期時(shí)間


    ttl

隊(duì)列過(guò)期

    @Bean("ttlQueue")
    public Queue ttlQueue() {
        return QueueBuilder.durable(TTL_QUEUE).ttl(10000).build();
    }

ttl(): 設(shè)置隊(duì)列的過(guò)期時(shí)間, 單位 毫秒

消息過(guò)期

@Test
    public void test01() {
        for (int i = 0; i < 10; i++) {
            Map<String, Object> person = new HashMap<>();
            person.put("name", "xiaoming"+i);
            person.put("age", 18+i);
            rabbitTemplate.setMandatory(true);
            rabbitTemplate.setConfirmCallback(testConfirmFallback);
            rabbitTemplate.setReturnCallback(testReturnFallback);
            rabbitTemplate.convertAndSend(RabbitMQConfig.EXCHANGE_NAME, "test.ttl", person, message -> {
                message.getMessageProperties().setExpiration("5000");
                return message;
            });
        }
    }

message.getMessageProperties().setExpiration("5000"): 設(shè)置消息的過(guò)期時(shí)間, 單位 毫秒

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個(gè)人專題目錄 1. RabbitMQ 高級(jí)特性 1.1 消息可靠性投遞 在使用 RabbitMQ 的時(shí)候,作為消息...
    Java及SpringBoot閱讀 574評(píng)論 0 3
  • RabbitMQ 主要處理的問(wèn)題 限流(削峰) 解耦 異步 RabbitMq 常用的交換器類型 fanout (分...
    布衣碼農(nóng)閱讀 4,266評(píng)論 0 0
  • 0. 前言 本文內(nèi)容分為如下三部分RabbitMQ高級(jí)特性 消息可靠性投遞Consumer ACK消費(fèi)端限流TTL...
    abboo閱讀 1,663評(píng)論 1 8
  • 消息TTL 方式1:通過(guò)隊(duì)列屬性設(shè)置,隊(duì)列中所有消息,都有相同的過(guò)期時(shí)間。 方式2:第二種方法是對(duì)消息本身進(jìn)行單獨(dú)...
    于情于你閱讀 971評(píng)論 0 1
  • 1. RabbitMQ高級(jí)特性 1.1 消息的可靠性投遞 RabbitMQ提供了兩種方式用來(lái)控制消息的投遞可靠性模...
    LWH_032e閱讀 379評(píng)論 0 1

友情鏈接更多精彩內(nèi)容