rabbitmq整合spring时报错:com.rabbitmq.client.ShutdownSignalException: connection error

本文记录了一次由于RabbitMQ端口配置错误导致的连接异常问题,详细描述了从发现错误到定位问题,再到解决的过程。指出15672端口为管理页面端口,正确的消息队列端口应为5672。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误详细信息如下:

org.springframework.amqp.AmqpIOException: java.io.IOException
	org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71)
	org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:509)
	org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:660)
	org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:240)
	org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1873)
	org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1847)
	org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:877)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:943)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:936)
	com.control.TestControl.push(TestControl.java:39)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
root cause

java.io.IOException
	com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:129)
	com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:125)
	com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:375)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1113)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1063)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1228)
	org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:471)
	org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:660)
	org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:240)
	org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1873)
	org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1847)
	org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:877)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:943)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:936)
	com.control.TestControl.push(TestControl.java:39)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
root cause

com.rabbitmq.client.ShutdownSignalException: connection error
	com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66)
	com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36)
	com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:499)
	com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:317)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1113)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1063)
	com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1228)
	org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:471)
	org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:660)
	org.springframework.amqp.rabbit.connection.ConnectionFactoryUtils.createConnection(ConnectionFactoryUtils.java:240)
	org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1873)
	org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1847)
	org.springframework.amqp.rabbit.core.RabbitTemplate.send(RabbitTemplate.java:877)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:943)
	org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:936)
	com.control.TestControl.push(TestControl.java:39)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
root cause

java.io.EOFException
	java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290)
	com.rabbitmq.client.impl.Frame.readFrom(Frame.java:91)
	com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164)
	com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:598)
	java.lang.Thread.run(Thread.java:748)

连接异常,请检查下,

配置中的用户名密码,mq的url以及端口号是否正确。

我这边的原因是:端口号用了15672,这是mq后台管理页面的端口号。应该使用5672。

 

PS:我当时拷贝mq路径的时候直接在mq后台管理页面的地址栏拷的,当时忘记了这两货端口号是不一样的。

害得自己,找了好久。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值