詳解rabbitmq創(chuàng)建queue時arguments參數(shù)注釋
1、x-max-length:
消息條數(shù)限制,該參數(shù)是非負整數(shù)值。限制加入queue中消息的條數(shù)。先進先出原則,超過10條后面的消息會頂替前面的消息。
2、x-max-length-bytes
消息容量限制,該參數(shù)是非負整數(shù)值。該參數(shù)和x-max-length目的一樣限制隊列的容量,但是這個是靠隊列大小(bytes)來達到限制。
3、x-message-ttl
消息存活時間,該參數(shù)是非負整數(shù)值.創(chuàng)建queue時設(shè)置該參數(shù)可指定消息在該queue中待多久,可根據(jù)x-dead-letter-routing-key和x-dead-letter-exchange生成可延遲的死信隊列。
4、x-max-priority
消息優(yōu)先級,創(chuàng)建queue時arguments可以使用x-max-priority參數(shù)聲明優(yōu)先級隊列 。該參數(shù)應(yīng)該是一個整數(shù),表示隊列應(yīng)該支持的最大優(yōu)先級。建議使用1到10之間。目前使用更多的優(yōu)先級將消耗更多的資源(Erlang進程)。
設(shè)置該參數(shù)同時設(shè)置死信隊列時或造成已過期的低優(yōu)先級消息會在未過期的高優(yōu)先級消息后面執(zhí)行。該參數(shù)會造成額外的CPU消耗。
5、x-expires
存活時間,創(chuàng)建queue時參數(shù)arguments設(shè)置了x-expires參數(shù),該queue會在x-expires到期后queue消息,親身測試直接消失(哪怕里面有未消費的消息)。
6、x-dead-letter-exchange和x-dead-letter-routing-key
創(chuàng)建queue時參數(shù)arguments設(shè)置了x-dead-letter-routing-key和x-dead-letter-exchange,會在x-message-ttl時間到期后把消息放到x-dead-letter-routing-key和x-dead-letter-exchange指定的隊列中達到延遲隊列的目的。
創(chuàng)建queue的時候,就可以設(shè)置以上參數(shù)
@Bean public Queue queue() { Map<String, Object> arguments = new HashMap<>(); //消息條數(shù)限制,該參數(shù)是非負整數(shù)值。限制加入queue中消息的條數(shù)。先進先出原則,超過10條后面的消息會頂替前面的消息。 arguments.put("x-max-length", 10); //消息容量限制,該參數(shù)是非負整數(shù)值。該參數(shù)和x-max-length目的一樣限制隊列的容量,但是這個是靠隊列大?。╞ytes)來達到限制。 arguments.put("x-max-length-bytes", 1024); /** * 消息存活時間,該參數(shù)是非負整數(shù)值.創(chuàng)建queue時設(shè)置該參數(shù)可指定消息在該queue中待多久, * 可根據(jù)x-dead-letter-routing-key和x-dead-letter-exchange生成可延遲的死信隊列。 */ arguments.put("x-message-ttl", 10000); * 消息優(yōu)先級,創(chuàng)建queue時arguments可以使用x-max-priority參數(shù)聲明優(yōu)先級隊列 。該參數(shù)應(yīng)該是一個整數(shù),表示隊列應(yīng)該支持的最大優(yōu)先級。 * ??建議使用1到10之間。目前使用更多的優(yōu)先級將消耗更多的資源(Erlang進程)。 * 設(shè)置該參數(shù)同時設(shè)置死信隊列時或造成已過期的低優(yōu)先級消息會在未過期的高優(yōu)先級消息后面執(zhí)行。 * 該參數(shù)會造成額外的CPU消耗。 arguments.put("x-max-priority", 5); * 存活時間,創(chuàng)建queue時參數(shù)arguments設(shè)置了x-expires參數(shù),該queue會在x-expires到期后queue消息, * 親身測試直接消失(哪怕里面有未消費的消息)。 arguments.put("x-expires", 60000); * 創(chuàng)建queue時參數(shù)arguments設(shè)置了x-dead-letter-routing-key和x-dead-letter-exchange, * 會在x-message-ttl時間到期后把消息放到x-dead-letter-routing-key和x-dead-letter-exchange指定的隊列中達到延遲隊列的目的。 arguments.put("x-dead-letter-exchange", "TopExchangeName"); arguments.put("x-dead-letter-routing-key", "ttl.*.value");//這里的routing-key也可以是隊列名稱,當消息過期后會轉(zhuǎn)發(fā)到這個exchange對應(yīng)的routing-key,達到延時隊列效果 return new Queue(topDDL, true, false, false, arguments); //隊列持久 }
來源:https://blog.csdn.net/qq_26656329/article/details/77891793
到此這篇關(guān)于rabbitmq創(chuàng)建queue時arguments參數(shù)注釋的文章就介紹到這了,更多相關(guān)rabbitmq arguments參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring向頁面?zhèn)髦岛徒邮茼撁鎮(zhèn)鬟^來的參數(shù)詳解
這篇文章主要給大家介紹了關(guān)于Spring向頁面?zhèn)髦岛徒邮茼撁鎮(zhèn)鬟^來的參數(shù)的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06IntelliJ IDEA報錯Error:java: Compilation failed: internal java
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA報錯Error:java: Compilation failed: internal java compiler error的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10