rabbitmq启动消费者模块失败的原因及解决

org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):[topic.man] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:700) [spring-rabbit-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.passiveDeclarations(BlockingQueueConsumer.java:584) [spring-rabbit-2.2.7.RELEASE.jar:2.2.7.RELEASE] 

 

在代码无误的情况下,生产者模块可以启动,而消费者模块启动报上述错误,原因是此时还未发起网址请求,如此就不会在rabbitmq服务器里面创建还不存在的交换机和队列。这个到rabbitmq上一看就知道了。

解决办法是先启动生产者模块,再发起访问url(该操作会让rabbitmq服务器上创建对应的交换机和队列),最后再启动消费者模块。

第一步:开启生产者模块

第二步: 发起对应的url访问

保险起见,去rabbitmq网页看看对应的交换机和队列创建没有

可见此时都已自动生成。

第三步:开启消费者模块

如此一来,该问题就解决了,但是这个操作仅限于第一次启动的时候,下次rabbitmq里面以及有对应的交换机和队列存在了就不用这样做了。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值