SpringBoot集成RabbitMQ踩坑之Caused by: org.springframework.amqp.AmqpException: No method found for class

SpringBoot集成RabbitMQ踩坑之Caused by: org.springframework.amqp.AmqpException: No method found for class

报错信息如下:

org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Listener threw exception
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.wrapToListenerExecutionFailedExceptionIfNeeded(AbstractMessageListenerContainer.java:1746) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1636) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1551) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1539) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1530) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1474) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:967) [spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:913) [spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access 1600 ( 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 : 83 ) [ s p r i n g − r a b b i t − 2.3.6. j a r : 2.3.6 ] 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 . l i s t e n e r . 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 1600(SimpleMessageListenerContainer.java:83) [spring-rabbit-2.3.6.jar:2.3.6] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer 1600(SimpleMessageListenerContainer.java:83)[springrabbit2.3.6.jar:2.3.6]atorg.springframework.amqp.rabbit.listener.SimpleMessageListenerContainerAsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1288) [spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1194) [spring-rabbit-2.3.6.jar:2.3.6]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_281]
Caused by: org.springframework.amqp.AmqpException: No method found for class [B
at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getHandlerForPayload(DelegatingInvocableHandler.java:151) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getMethodFor(DelegatingInvocableHandler.java:271) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.getMethodFor(HandlerAdapter.java:110) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:148) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:135) ~[spring-rabbit-2.3.6.jar:2.3.6]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1632) ~[spring-rabbit-2.3.6.jar:2.3.6]
… 10 common frames omitted

解决方法

不要将@RabbitListener加在类上,直接加在方法上即可

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值