錯誤原因
這個錯誤表明你的 RabbitMQ 服務器不認識交換機類型 “x-delayed-message”,這通常是因為你的 RabbitMQ 服務器沒有啟用 rabbitmq_delayed_message_exchange
插件,或者插件版本與你的 RabbitMQ 服務器不兼容。
解決方法
-
啟用 RabbitMQ 延遲隊列插件:
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
確保執行了上述命令,并且 RabbitMQ 服務器成功啟用了
rabbitmq_delayed_message_exchange
插件。你可以通過查看 RabbitMQ 控制臺的插件頁面或者使用命令行檢查插件狀態。 -
可以使用以下命令查看是否啟用了該插件
rabbitmq-plugins list
-
確保 “rabbitmq_delayed_message_exchange” 插件狀態是 “E”(enabled),此時再去springboot端創建相應的延遲隊列以及延遲交換機,如果可以則不需要進行下面的操作。
-
插件版本兼容性:
確保你的 RabbitMQ 服務器的版本與使用的插件版本兼容。有時,插件版本可能與 RabbitMQ 服務器版本不匹配,導致無法識別交換機類型。 -
重啟 RabbitMQ 服務器:
如果啟用了插件但問題仍然存在,嘗試重啟 RabbitMQ 服務器。有時,插件的更改需要服務器重啟才能生效。
確保你在 RabbitMQ 服務器上正確地啟用了插件,并且版本與 RabbitMQ 服務器版本兼容。如果問題仍然存在,請檢查 RabbitMQ 服務器的日志以獲取更詳細的錯誤信息,以便進一步調查問題。****