SpringBoot中使用RabbitMQ,解决无法连接AmqpConnectException: java.net.ConnectException: Connection timed out:

  • Post author:
  • Post category:java


RabbitMQ

是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),

AMQP

即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

最近在服务器上部署RabbitMQ的时候,报了个连接超时的错误

org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection timed out: connect

at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:62)

at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:509)

at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:682)

at org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:214)

at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:2073)

at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:2047)

at org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:994)

at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:1060)

at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:1053)

在SpringBoot中使用RabbitMQ时,容易出现、连接不成功的情况

1、SpringBoot的版本和RabbitMQ的版本不对应

2、连接端口,默认5672,连接主机的端口也要没限制,ip地址要正确可访问

3、交换器和路由键是否错误



版权声明:本文为Jack__iT原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。