RabbitMQ++:Springboot-RabbitMq 引數配置詳解
阿新 • • 發佈:2021-12-16
基礎資訊:
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: 最大重試時間間隔