赞
踩
最近想搭建mq服务器,自己玩一下,结果惨不忍睹,在此记录下出现的问题以及解决方案。(^_-)
本篇博文参考大佬,链接如下:
https://www.freesion.com/article/39771052403/
https://blog.csdn.net/loveLifeLoveCoding/article/details/108165742
解决方案:
第一步:find / -name “rabbitmq.config*” -->找到到rabbitmq.config.example文件
打开这个文件:vi /usr/share/doc/rabbitmq-server-3.7.4/rabbitmq.config.example
第二步:修改文件添加
退出 并保存:wq
第三部:将该文件移动到etc/rabbitmq文件夹下并重命名为rabbitmq.config
第四步:重启rabbitmq服务service rabbitmq-server restart
需要注意的是
开启web管理使用的是HTTP协议而java远程访问rabbitmq服务使用的是AMQP协议!
网上找了一圈,发现与这个报错类似
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg ‘auto_delete’ for exchange ‘ltc_business_Customer’ in vhost ‘/’: received ‘false’ but current is ‘true’, class-id=40, method-id=10)
原因是:
Rabbitmq服务器上已经存在同样名称的队列和exchange了,但是和你在程序里设置的属性不一样而引起的错误。
解决方案一
登录Rabbitmq服务器管理界面
把rabbitmq上已存在的队列和exchange删掉
解决方案二
把已经存在的队列和exchange属性都改成一致的
本人的解决方案是通过管理界面删除了手动创建的queue
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。