[英]Spring cloud stream rabbit : Queue creation when rabbit server unavailable
[英]Getting QueuesNotAvailableException when setting spring.cloud.stream.rabbit.bindings.<input-channel>.consumer.bindQueue=false
出現錯誤后,我進入了一個堆棧跟蹤。 想知道我go哪里錯了。
org.springframework.amqp.rabbit.listener.QueuesNotAvailableException:無法為偵聽器准備隊列。 要么隊列不存在,要么代理不允許我們使用它。
org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException:無法聲明隊列:[service-myInputChannelName]
com.rabbitmq.client.ShutdownSignalException:通道錯誤; 協議方法:#method<channel.close>(reply-code=404, reply-text=NOT_FOUND - vhost '/' 中沒有隊列 'service-myInputChannelName', class-id=50, method-id=10)
對於我的輸入通道,我完成了以下配置
spring:
cloud:
stream:
binders:
mqtt-binder:
type: rabbit
defaultCandidate: false
inheritEnvironment: true
environment:
spring:
rabbitmq:
virtual-host: mqtt
bindings:
myInputChannelName:
destination: myInputChannelName
group: service-myInputChannelName
content-type: application/json
consumer:
concurrency: 10
maxAttempts: 1
rabbit:
bindings:
myInputChannelName:
consumer:
queueNameGroupOnly: true
prefetch: 5
ttl: 600000
bindQueue: false
Java 代碼
@Input("myInputChannelName")
SubscribableChannel myInputChannelNameEvent();
依賴:org.springframework.cloud:spring-cloud-starter-stream-rabbit:3.2.4
不清楚您在這種情況下的期望; bindQueue=false
適用於您想要使用自己定義和綁定的隊列的情況。
默認情況下,活頁夾將創建它需要的基礎設施。
如果將其設置為 false,則必須自己設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.