Springcloud集成MQ-org.springframework.amqp.AmqpConnectException-2021-09-10

在将Springcloud与RabbitMQ集成时遇到org.springframework.amqp.AmqpConnectException错误,尝试了修改虚拟机配置文件和增加用户权限的方法无效。最终发现是因为配置文件中的IP地址未指向虚拟机地址。解决方案是确保启动顺序(Eureka - Config - Provider),并在所有使用RabbitMQ的服务中配置正确的虚拟机IP。

这次的低级bug困扰我两天......

用springcloud集成Bus和rabbitMQ时, 报错如下: 

  查询到一些相同报错的其他解决方法 -- 对我的问题无效

1. 在虚拟机添加 rabbitmq.config文件([{rabbit, [{loopback_users, []}]}].)​​​​​​SpringBoot集成rabbitmq错误:org.springframework.amqp.AmqpConnectException: java.net.ConnectException的解决办法_弗兰-随风小欢的博客-优快云博客

 2.  去rabbitMQ后台增加用户permission的权限RabbitMq 本地连接报错 org.springframework.amqp.AmqpIOException: java.io.IOException_温故而知新,可以为师矣。-优快云博客

最后解决:

因为我的rabbitMQ装在虚拟机上, 不在本地, 在配置中心config-server和服务提供者provider的yml文件中的ip地址也要修改为虚拟机的地址: 

 总结:

       1. 启动顺序: eureka - config - provider

       2. 使用rabbitmq前, 启动linux虚拟机

 

 

org.springframework.context.ApplicationContextException: Failed to start bean 'org.springframework.amqp.rabbit.config.internalRabbitListenerEndpointRegistry'; nested exception is org.springframework.amqp.AmqpIllegalStateException: Fatal exception on listener startup at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:185) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:895) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:755) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:402) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1247) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1236) [spring-boot-2.3.11.RELEASE.jar:2.3.11.RELEASE] at com.it.k.SpringbootRabbitmqApplication.main(SpringbootRabbitmqApplication.java:10) [classes/:na] Caused by: org.springframework.amqp.AmqpIllegalStateException: Fatal exception on listener startup at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.waitForConsumersToStart(SimpleMessageListenerContainer.java:613) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doStart(SimpleMessageListenerContainer.java:574) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.start(AbstractMessageListenerContainer.java:1348) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.startIfNecessary(RabbitListenerEndpointRegistry.java:299) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry.start(RabbitListenerEndpointRegistry.java:249) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE] ... 14 common frames omitted Caused by: org.springframework.amqp.rabbit.listener.exception.FatalListenerStartupException: Authentication failure at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:589) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.initialize(SimpleMessageListenerContainer.java:1357) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1202) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at java.lang.Thread.run(Thread.java:750) ~[na:1.8.0_461] Caused by: org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile. at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:64) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:524) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:751) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:216) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils$RabbitResourceFactory.createConnection(ConnectionFactoryUtils.java:295) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.doGetTransactionalResourceHolder(ConnectionFactoryUtils.java:130) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.getTransactionalResourceHolder(ConnectionFactoryUtils.java:92) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.getTransactionalResourceHolder(ConnectionFactoryUtils.java:75) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:583) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] ... 3 common frames omitted Caused by: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile. at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:385) ~[amqp-client-5.9.0.jar:5.9.0] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1139) ~[amqp-client-5.9.0.jar:5.9.0] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1087) ~[amqp-client-5.9.0.jar:5.9.0] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connectAddresses(AbstractConnectionFactory.java:562) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.connect(AbstractConnectionFactory.java:535) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:487) ~[spring-rabbit-2.2.17.RELEASE.jar:2.2.17.RELEASE] ... 10 common frames omitted
最新发布
09-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值