詳解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目的一樣限制隊列的容量,但是這個是靠隊列大?。╞ytes)來達到限制。
3、x-message-ttl
消息存活時間,該參數(shù)是非負整數(shù)值.創(chuàng)建queue時設置該參數(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ù)應該是一個整數(shù),表示隊列應該支持的最大優(yōu)先級。建議使用1到10之間。目前使用更多的優(yōu)先級將消耗更多的資源(Erlang進程)。
設置該參數(shù)同時設置死信隊列時或造成已過期的低優(yōu)先級消息會在未過期的高優(yōu)先級消息后面執(zhí)行。該參數(shù)會造成額外的CPU消耗。
5、x-expires
存活時間,創(chuàng)建queue時參數(shù)arguments設置了x-expires參數(shù),該queue會在x-expires到期后queue消息,親身測試直接消失(哪怕里面有未消費的消息)。
6、x-dead-letter-exchange和x-dead-letter-routing-key
創(chuàng)建queue時參數(shù)arguments設置了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ù)
@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ù)可指定消息在該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ù)應該是一個整數(shù),表示隊列應該支持的最大優(yōu)先級。
* ??建議使用1到10之間。目前使用更多的優(yōu)先級將消耗更多的資源(Erlang進程)。
* 設置該參數(shù)同時設置死信隊列時或造成已過期的低優(yōu)先級消息會在未過期的高優(yōu)先級消息后面執(zhí)行。
* 該參數(shù)會造成額外的CPU消耗。
arguments.put("x-max-priority", 5);
* 存活時間,創(chuàng)建queue時參數(shù)arguments設置了x-expires參數(shù),該queue會在x-expires到期后queue消息,
* 親身測試直接消失(哪怕里面有未消費的消息)。
arguments.put("x-expires", 60000);
* 創(chuàng)建queue時參數(shù)arguments設置了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也可以是隊列名稱,當消息過期后會轉發(fā)到這個exchange對應的routing-key,達到延時隊列效果
return new Queue(topDDL, true, false, false, arguments); //隊列持久
}來源:https://blog.csdn.net/qq_26656329/article/details/77891793
到此這篇關于rabbitmq創(chuàng)建queue時arguments參數(shù)注釋的文章就介紹到這了,更多相關rabbitmq arguments參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入了解SpringAOP中的jdk動態(tài)代理與CGlib
這篇文章主要介紹了深入了解SpringAOP中的jdk動態(tài)代理與CGlib,一般我們編寫程序的思想是縱向的,也就是一個方法代碼從該方法第一行開始往下一步一步走,直到走完最后一行代碼,也就是說很多業(yè)務都需要的比如用戶鑒權,資源釋放等,需要的朋友可以參考下2023-12-12
使用@TransactionalEventListener監(jiān)聽事務教程
這篇文章主要介紹了使用@TransactionalEventListener監(jiān)聽事務教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09

