问题起因是节假日服务器断电,导致服务全部关闭,再次启动后,执行业务发现rabbitmq连接报错,报错如下:
2021-10-12 09:19:18.004 [localhost-startStop-1] INFO c.d.o.s.r.RabbitMqStartListenerImpl [109]- (动态监听定时)线程ID:15-->队列:order_yxts_message1403016L1NN5336开始启动监听
2021-10-12 09:19:18.004 [localhost-startStop-1] INFO o.s.a.r.c.CachingConnectionFactory [468]- Attempting to connect to: 10.1.1.173:56720
2021-10-12 09:19:18.010 [AMQP Connection 10.1.1.173:56720] WARN c.r.c.impl.ForgivingExceptionHandler [115]- An unexpected connection driver error occured (Exception message: Socket closed)
2021-10-12 09:19:18.019 [localhost-startStop-1] ERROR c.d.o.s.r.RabbitMqStartListenerImpl [173]- (动态监听定时)线程ID:15-->队列:order_yxts_message添加监听失败,异常:
org.springframework.amqp.AmqpIOException: java.io.IOException
at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71)
at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:509)
at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:702)
at com.dxhy.order.rabbitplugin.core.ConnectionForFactory.getConn(ConnectionForFactory.java:11)
at com.dxhy.order.rabbitplugin.core.QueueDeclare.declareQueue(QueueDeclare.java:36)
at com.dxhy.order.service.rabbitmq.RabbitMqSendMessageImpl.getQueueDeclare(RabbitMqSendMessageImpl.java:108)
at com.dxhy.order.service.rabbitmq.RabbitMqSendMessageImpl.setQueueDeclare(RabbitMqSendMessageImpl.java:93)
at com.dxhy.order.service.rabbitmq.RabbitMqStartListenerImpl.startRabbitMqListener(RabbitMqStartListenerImpl.java:162)
at com.dxhy.order.config.RabbitMqListenerAfterSystemRun.run(RabbitMqListenerAfterSystemRun.java:30)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:770)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:760)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5292)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: null
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:126)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:122)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:144)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:401)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1104)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1054)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1218)
at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:471)
... 26 common frames omitted
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=541, reply-text=INTERNAL_ERROR - access to vhost '/' refused for user 'admin': vhost '/' i
s down, class-id=10, method-id=40) at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:494)
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:288)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:138)
... 31 common frames omitted
具体问题原因
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=541, reply-text=INTERNAL_ERROR - access to vhost '/' refused for user 'admin': vhost '/' i
s down, class-id=10, method-id=40) at com.rabbitmq.
rabbitmq连接不上,首选在服务器上telnet ip端口是通的,随后登录rabbitmq客户端页面,发现vhost没running,
2364dd6bafdd1083e5f2062110df32e.png
e8d5cf120d28376584ada0d735263f8.png
问题原因找到后找运维处理,结果是:因为一个税号的数据有问题没有清除掉,导致整个vhost启动失败的。
重启后问题解决。











网友评论