1. 程式人生 > 其它 >RabbitMQ++:Springboot-RabbitMq 引數配置詳解

RabbitMQ++:Springboot-RabbitMq 引數配置詳解

基礎資訊:

spring.rabbitmq.host: 預設localhost
spring.rabbitmq.port: 預設5672
spring.rabbitmq.username: 使用者名稱
spring.rabbitmq.password: 密碼
spring.rabbitmq.virtual-host: 連線到代理時用的虛擬主機
spring.rabbitmq.addresses: 連線到server的地址列表(以逗號分隔),先addresses後host
spring.rabbitmq.requested-heartbeat: 請求心跳超時時間,0為不指定,如果不指定時間單位預設為妙
spring.rabbitmq.publisher
-confirms: 是否啟用【釋出確認】,預設false spring.rabbitmq.publisher-returns: 是否啟用【釋出返回】,預設false spring.rabbitmq.connection-timeout: 連線超時時間,單位毫秒,0表示永不超時

SSL:

spring.rabbitmq.ssl.enabled: 是否支援ssl,預設false
spring.rabbitmq.ssl.key-store: 持有SSL certificate的key store的路徑
spring.rabbitmq.ssl.key-store-password: 訪問key store的密碼
spring.rabbitmq.ssl.trust
-store: 持有SSL certificates的Trust store spring.rabbitmq.ssl.trust-store-password: 訪問trust store的密碼 spring.rabbitmq.ssl.trust-store-type=JKS:Trust store 型別. spring.rabbitmq.ssl.algorithm: ssl使用的演算法,預設由rabiitClient配置 spring.rabbitmq.ssl.validate-server-certificate=true:是否啟用服務端證書驗證 spring.rabbitmq.ssl.verify
-hostname=true 是否啟用主機驗證

快取cache:

spring.rabbitmq.cache.channel.size: 快取中保持的channel數量
spring.rabbitmq.cache.channel.checkout-timeout: 當快取數量被設定時,從快取中獲取一個channel的超時時間,單位毫秒;如果為0,則總是建立一個新channel
spring.rabbitmq.cache.connection.size: 快取的channel數,只有是CONNECTION模式時生效
spring.rabbitmq.cache.connection.mode=channel: 連線工廠快取模式:channel 和 connection

Listener:

spring.rabbitmq.listener.type=simple: 容器型別.simple或direct

spring.rabbitmq.listener.simple.auto-startup=true: 是否啟動時自動啟動容器
spring.rabbitmq.listener.simple.acknowledge-mode: 表示訊息確認方式,其有三種配置方式,分別是none、manual和auto;預設auto
spring.rabbitmq.listener.simple.concurrency: 最小的消費者數量
spring.rabbitmq.listener.simple.max-concurrency: 最大的消費者數量
spring.rabbitmq.listener.simple.prefetch: 一個消費者最多可處理的nack訊息數量,如果有事務的話,必須大於等於transaction數量.
spring.rabbitmq.listener.simple.transaction-size: 當ack模式為auto時,一個事務(ack間)處理的訊息數量,最好是小於等於prefetch的數量.若大於prefetch, 則prefetch將增加到這個值
spring.rabbitmq.listener.simple.default-requeue-rejected: 決定被拒絕的訊息是否重新入隊;預設是true(與引數acknowledge-mode有關係)
spring.rabbitmq.listener.simple.missing-queues-fatal=true 若容器宣告的佇列在代理上不可用,是否失敗; 或者執行時一個多多個佇列被刪除,是否停止容器
spring.rabbitmq.listener.simple.idle-event-interval: 釋出空閒容器的時間間隔,單位毫秒
spring.rabbitmq.listener.simple.retry.enabled=false: 監聽重試是否可用
spring.rabbitmq.listener.simple.retry.max-attempts=3: 最大重試次數
spring.rabbitmq.listener.simple.retry.max-interval=10000ms: 最大重試時間間隔
spring.rabbitmq.listener.simple.retry.initial-interval=1000ms:第一次和第二次嘗試傳遞訊息的時間間隔
spring.rabbitmq.listener.simple.retry.multiplier=1: 應用於上一重試間隔的乘數
spring.rabbitmq.listener.simple.retry.stateless=true: 重試時有狀態or無狀態

spring.rabbitmq.listener.direct.acknowledge-mode= ack模式
spring.rabbitmq.listener.direct.auto-startup=true 是否在啟動時自動啟動容器
spring.rabbitmq.listener.direct.consumers-per-queue= 每個佇列消費者數量.
spring.rabbitmq.listener.direct.default-requeue-rejected= 預設是否將拒絕傳送的訊息重新入隊.
spring.rabbitmq.listener.direct.idle-event-interval= 空閒容器事件釋出時間間隔.
spring.rabbitmq.listener.direct.missing-queues-fatal=false若容器宣告的佇列在代理上不可用,是否失敗.
spring.rabbitmq.listener.direct.prefetch= 每個消費者可最大處理的nack訊息數量.
spring.rabbitmq.listener.direct.retry.enabled=false 是否啟用釋出重試機制.
spring.rabbitmq.listener.direct.retry.initial-interval=1000ms # Duration between the first and second attempt to deliver a message.
spring.rabbitmq.listener.direct.retry.max-attempts=3 # Maximum number of attempts to deliver a message.
spring.rabbitmq.listener.direct.retry.max-interval=10000ms # Maximum duration between attempts.
spring.rabbitmq.listener.direct.retry.multiplier=1 # Multiplier to apply to the previous retry interval.
spring.rabbitmq.listener.direct.retry.stateless=true # Whether retries are stateless or stateful.
Template
spring.rabbitmq.template.mandatory: 啟用強制資訊;預設false
spring.rabbitmq.template.receive-timeout: receive() 操作的超時時間
spring.rabbitmq.template.reply-timeout: sendAndReceive() 操作的超時時間
spring.rabbitmq.template.retry.enabled=false: 傳送重試是否可用
spring.rabbitmq.template.retry.max-attempts=3: 最大重試次數
spring.rabbitmq.template.retry.initial-interva=1000msl: 第一次和第二次嘗試釋出或傳遞訊息之間的間隔
spring.rabbitmq.template.retry.multiplier=1: 應用於上一重試間隔的乘數
spring.rabbitmq.template.retry.max-interval=10000: 最大重試時間間隔