簡體   English   中英

設置 spring.cloud.stream.rabbit.bindings 時出現 QueuesNotAvailableException。<input-channel> .consumer.bindQueue=false</input-channel>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM