SpringBoot整合rabbitmq循环抛出异常 (AmqpException: No method found for class [B) 问题及解决

消费者的代码如下:

1
2
3
4
5
6
7
8
9
10
@Component
@RabbitListener(queues = "balance")
public class Receiver {

    @RabbitHandler
    public void process(String hello) {
        System.out.println("Receiver : " + hello);
    }

}

运行之后,出现循环抛出异常的情况 (org.springframework.amqp.AmqpException: No method found for class [B),具体如下:

1
2
3
4
5
6
7
8
Caused by: org.springframework.amqp.AmqpException: No method found for class [B
	at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getHandlerForPayload(DelegatingInvocableHandler.java:127) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getMethodNameFor(DelegatingInvocableHandler.java:224) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.getMethodAsString(HandlerAdapter.java:61) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:140) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:106) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:779) ~[spring-rabbit-1.7.0.RELEASE.jar:na]
	... 10 common frames omitted

@RabbitListener可以标注在类上面,需配合 @RabbitHandler 注解一起使用,@RabbitListener 标注在类上面表示当有收到消息的时候,就交给 @RabbitHandler 的方法处理
此处将其改放到方法上,消费者代码修改如下:

1
2
3
4
5
6
7
8
9
@Component
public class Receiver {

    @RabbitListener(queues = "balance")
    public void process(Message message) {
        System.out.println("Receiver : " + new String(message.getBody()));
    }

}

修改之后程序便正常运行

-------------本文结束感谢您的阅读-------------

本文标题:SpringBoot整合rabbitmq循环抛出异常 (AmqpException: No method found for class [B) 问题及解决

文章作者:Tylxrex

发布时间:2018年08月14日 - 09:08

最后更新:2018年08月14日 - 10:08

原始链接:https://tylxrex.github.io/springboot-rabbitmq-amqpexception/ 

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

猜你喜欢

转载自blog.csdn.net/rentian1/article/details/86553480