Rabbit MQ无法从Spring Boot Run启动(连接被拒绝)

时间:2018-08-31 22:39:52

标签: spring rabbitmq spring-rabbit

我本来要发布这个问题,但我想我已经找到了答案。我希望有人能够提供进一步公开知识的理由。

我正在将RabbitMQ集成到我的Spring Boot应用程序中。

启动Spring Boot应用程序后,我会不断获取此堆栈跟踪

org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused (Connection refused)
    at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:62) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:484) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:626) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:240) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1797) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1771) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1752) ~[spring-rabbit-2.0.5.RELEASE.jar:2.0.5.RELEASE]
... 
Caused by: java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_172]
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_172]
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_172]
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_172]
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_172]

我将RabbitMQ简化为空,仅在pom.xml中具有依赖关系,而在application.properties中具有以下依赖关系

spring.rabbitmq.host=localhost
spring.rabbitmq.port=15672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

我确认Rabbit MQ已启动并正在运行,甚至可以进入GUI

我的解决方案是将spring.rabbitmq.port更改为5672(删除1)

任何人都可以提供技术答案吗?是因为RabbitMQ侦听该端口5672并仅在15672上提供了前端

1 个答案:

答案 0 :(得分:2)

RabbitMq使用高级消息队列协议(AMQP)。

在rabbitmq.conf中,提供的tcp端口从Java应用程序中获取RabbitMq的端口。

listeners.tcp.default = 5672

RabbitMQ管理控制台或Web管理员使用15672(默认)端口。