错误原因
这个错误表明你的 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 服务器的日志以获取更详细的错误信息,以便进一步调查问题。****