zoukankan      html  css  js  c++  java
  • spring boot整合rabbitmq踩坑 Caused by: org.springframework.amqp.AmqpException: No method found for class

    按照官方的例子代码如下:

    @Component
    @RabbitListener(queues="test_mq_testQueue")
    public class Receiver {


        @RabbitHandler 
        public void process(String msg){
            System.out.println(msg);
        }
    }
    但是运行接收消息时,后台一直循环报错

    Caused by: org.springframework.amqp.AmqpException: No method found for class [B
        at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getHandlerForPayload(DelegatingInvocableHandler.java:127)
        at org.springframework.amqp.rabbit.listener.adapter.DelegatingInvocableHandler.getMethodNameFor(DelegatingInvocableHandler.java:224)
        at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.getMethodAsString(HandlerAdapter.java:61)
        at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:140)
        at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:106)
        at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:822)
        ... 10 common frames omitted


    后来查资料发现,@RabbitListener(queues=”test_mq_testQueue”)不需要放在类上。直接注释在方法上就好

    @Component
    public class Receiver {
    @RabbitListener(queues="test_mq_testQueue")
        public void process(Message message){
            System.out.println(new String(message.getBody()));
        }
    }

  • 相关阅读:
    对模拟器虚假设备识别能力提升15%!每日清理大师App集成系统完整性检测
    教你实现华为快应用深色主题适配
    如何实现一个malloc
    如何提高团队管理能力?
    大型网站架构演变和知识体系
    call_user_func 和 call_user_func_array用法
    源码研究:php变量
    http协议简介
    用c语言实现http请求
    用socket写一个简单的客户端和服务端程序
  • 原文地址:https://www.cnblogs.com/linliquan/p/13060727.html
Copyright © 2011-2022 走看看