日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ExchangeHasDiffFields

更新時間:

介紹云消息隊列 RabbitMQ 版客戶端報ExchangeHasDiffFields類型錯誤的原因和處理方法。

問題現象

使用云消息隊列 RabbitMQ 版客戶端連接云消息隊列 RabbitMQ 版服務端時,報ExchangeHasDiffFields類型錯誤。例如ExchangeHasDiffFields[ODurable=true&NDurable=false;]。

說明

報錯中O開頭的參數的屬性值為要調用的Exchange的參數的已設置屬性值,N開頭的參數的屬性值為本次聲明的Exchange的參數的屬性值。

可能原因

要調用的Exchange的參數的已設置屬性值與本次聲明的Exchange的參數的屬性值不一致,導致報ExchangeHasDiffField類型錯誤。可能出現不一致的Exchange參數如下:

參數

類型

描述

exchange

String

Exchange的名稱。

type

String

Exchange的類型。取值:

  • fanout:該類型路由規則非常簡單,會把所有發送到該Exchange的消息路由到所有與它綁定的Queue中,相當于廣播功能。

  • direct:該類型路由規則會將消息路由到Routing Key完全匹配的Queue中。

  • topic:該類型與direct類型相似,只是規則沒有那么嚴格,可以模糊匹配和多條件匹配,即該類型Exchange使用Routing Key模式匹配和字符串比較的方式將消息路由至綁定的Queue。

durable

boolean

Exchange是否持久化。取值:

  • true:持久化類型,在云消息隊列 RabbitMQ 版客戶端重連云消息隊列 RabbitMQ 版服務端時被再次自動創建出來 。

  • false:非持久化類型,在云消息隊列 RabbitMQ 版客戶端重連云消息隊列 RabbitMQ 版服務端時不會被再次自動創建出來 。

說明

調用CreateExchange或在云消息隊列 RabbitMQ 版控制臺Exchange管理頁面創建的Exchange默認為持久化Exchange。

autoDelete

boolean

Exchange是否自動刪除。取值:

  • true:自動刪除類型,在最后一個綁定的Queue取消綁定后,自動刪除。

  • false:非自動刪除類型,即使最后一個綁定的Queue取消綁定后,也不會自動刪除。

說明

調用CreateExchange或在云消息隊列 RabbitMQ 版控制臺Exchange管理頁面創建的Exchange默認為非自動刪除類型。

internal

boolean

Exchange是否為Internal類型。默認值為false。取值:

  • true:內建類型,用于Exchange和Exchange之間的綁定。

  • false:非內建類型,用于Exchange和Queue之間的綁定。

arguments

Map

Exchange其他參數。包括Alternate Exchange。

例如要調用的Exchange的durable參數的已設置屬性值與本次聲明的Exchange的durable參數的屬性值不一致,導致報錯ExchangeHasDiffFields[ODurable=true&NDurable=false;]。

  • 要調用的Exchange的durable參數的已設置屬性值為false。

    說明

    您可以調用ListExchanges或在云消息隊列 RabbitMQ 版控制臺Exchange管理頁面獲取要調用的Exchange的參數的屬性值。

  • 本次聲明的Exchange的durable參數的屬性值為true。

    示例代碼如下:

    channel.exchangeDeclare("test", "direct", false, false, false, null);

解決方案

在代碼中修改本次聲明Exchange的參數的屬性值,使其與要調用的Exchange的參數的已設置屬性值保持一致。例如,在代碼中將本次聲明的Exchange的durable參數的屬性值修改為false,使其與要調用的Exchange的durable參數的已設置屬性值保持一致。

示例代碼如下:

channel.exchangeDeclare("test", "direct", true, false, false, null);