使用mq异常的一个注意点

activemq和rabbitmq不可以同时开启。否则回报错

com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 3,1,0,0
at com.rabbitmq.client.impl.Frame.protocolVersionMismatch(Frame.java:170) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:107) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:571) ~[amqp-client-4.0.3.jar:4.0.3]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

2018-10-29 16:47:53.210 ERROR 3320 — [enerContainer-1] o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s).

org.springframework.amqp.AmqpIOException: java.io.IOException
at org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:368) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:573) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1430) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1411) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1387) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:336) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.redeclareElementsIfNecessary(SimpleMessageListenerContainer.java:1171) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer A s y n c M e s s a g e P r o c e s s i n g C o n s u m e r . r u n ( S i m p l e M e s s a g e L i s t e n e r C o n t a i n e r . j a v a : 1422 ) [ s p r i n g − r a b b i t − 1.7.4. R E L E A S E . j a r : n a ] a t j a v a . l a n g . T h r e a d . r u n ( T h r e a d . j a v a : 748 ) [ n a : 1.8. 0 1 81 ] C a u s e d b y : j a v a . i o . I O E x c e p t i o n : n u l l a t c o m . r a b b i t m q . c l i e n t . i m p l . A M Q C h a n n e l . w r a p ( A M Q C h a n n e l . j a v a : 105 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . i m p l . A M Q C h a n n e l . w r a p ( A M Q C h a n n e l . j a v a : 101 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . i m p l . A M Q C o n n e c t i o n . s t a r t ( A M Q C o n n e c t i o n . j a v a : 353 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . C o n n e c t i o n F a c t o r y . n e w C o n n e c t i o n ( C o n n e c t i o n F a c t o r y . j a v a : 909 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . C o n n e c t i o n F a c t o r y . n e w C o n n e c t i o n ( C o n n e c t i o n F a c t o r y . j a v a : 859 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . C o n n e c t i o n F a c t o r y . n e w C o n n e c t i o n ( C o n n e c t i o n F a c t o r y . j a v a : 799 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t o r g . s p r i n g f r a m e w o r k . a m q p . r a b b i t . c o n n e c t i o n . A b s t r a c t C o n n e c t i o n F a c t o r y . c r e a t e B a r e C o n n e c t i o n ( A b s t r a c t C o n n e c t i o n F a c t o r y . j a v a : 352 )   [ s p r i n g − r a b b i t − 1.7.4. R E L E A S E . j a r : n a ] . . . 8 c o m m o n f r a m e s o m i t t e d C a u s e d b y : c o m . r a b b i t m q . c l i e n t . S h u t d o w n S i g n a l E x c e p t i o n : c o n n e c t i o n e r r o r a t c o m . r a b b i t m q . u t i l i t y . V a l u e O r E x c e p t i o n . g e t V a l u e ( V a l u e O r E x c e p t i o n . j a v a : 66 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . u t i l i t y . B l o c k i n g V a l u e O r E x c e p t i o n . u n i n t e r r u p t i b l e G e t V a l u e ( B l o c k i n g V a l u e O r E x c e p t i o n . j a v a : 36 )   [ a m q p − c l i e n t − 4.0.3. j a r : 4.0.3 ] a t c o m . r a b b i t m q . c l i e n t . i m p l . A M Q C h a n n e l AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1422) [spring-rabbit-1.7.4.RELEASE.jar:na] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181] Caused by: java.io.IOException: null at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:105) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:101) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:353) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:909) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:799) ~[amqp-client-4.0.3.jar:4.0.3] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:352) ~[spring-rabbit-1.7.4.RELEASE.jar:na] ... 8 common frames omitted Caused by: com.rabbitmq.client.ShutdownSignalException: connection error at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) ~[amqp-client-4.0.3.jar:4.0.3] at com.rabbitmq.client.impl.AMQChannel AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1422)[springrabbit1.7.4.RELEASE.jar:na]atjava.lang.Thread.run(Thread.java:748)[na:1.8.0181]Causedby:java.io.IOException:nullatcom.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:105) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:101) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:353) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:909) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:799) [amqpclient4.0.3.jar:4.0.3]atorg.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:352) [springrabbit1.7.4.RELEASE.jar:na]...8commonframesomittedCausedby:com.rabbitmq.client.ShutdownSignalException:connectionerroratcom.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) [amqpclient4.0.3.jar:4.0.3]atcom.rabbitmq.client.impl.AMQChannelBlockingRpcContinuation.getReply(AMQChannel.java:372) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:297) ~[amqp-client-4.0.3.jar:4.0.3]
… 12 common frames omitted
Caused by: com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 3,1,0,0
at com.rabbitmq.client.impl.Frame.protocolVersionMismatch(Frame.java:170) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:107) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:571) ~[amqp-client-4.0.3.jar:4.0.3]
… 1 common frames omitted

2018-10-29 16:47:53.215 ERROR 3320 — [ 127.0.0.1:5672] c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occured

com.rabbitmq.client.MalformedFrameException: AMQP protocol version mismatch; we are version 0-9-1, server sent signature 3,1,0,0
at com.rabbitmq.client.impl.Frame.protocolVersionMismatch(Frame.java:170) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:107) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164) ~[amqp-client-4.0.3.jar:4.0.3]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:571)

根据提供的引用内容,可以得出以下关于MQ消息异常数据库表设计的建议: 在处理MQ消息异常时,可以考虑设计一个专门用于记录异常消息的数据库表。这个表可以包含以下字段: 1. 消息ID:用于唯一标识每条消息的ID。 2. 消息内容:记录消息的具体内容。 3. 异常信息:记录异常的详细信息,例如错误代码、错误描述等。 4. 创建时间:记录消息的创建时间。 5. 处理状态:记录消息的处理状态,例如未处理、处理中、已处理等。 通过这个表,可以将发送MQ消息的过程与数据库事务进行解耦,从而实现更好的消息异常处理。当发送MQ消息时出现异常,可以将异常消息记录到这个表中,以便后续进行处理。同时,可以在业务处理完成后,将对应的异常消息标记为已处理,以便进行后续的监控和统计。 需要注意的是,在设计数据库表时,可以根据具体业务需求进行适当的调整和扩展。例如,可以添加更多的字段来记录消息的来源、目标等信息,以便更好地追踪和分析异常情况。 总结起来,设计一个专门用于记录MQ消息异常的数据库表,可以帮助我们更好地处理和监控异常消息,确保消息的可靠性和一致性。 #### 引用[.reference_title] - *1* *2* [相较于RocketMQ的事务消息,本地消息表才是真正的王者](https://blog.csdn.net/m0_74931226/article/details/127916333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【项目】数据库事务与MQ发送一致性](https://blog.csdn.net/qq_43103529/article/details/126669449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值