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()));
        }
    }

  • 相关阅读:
    批量数据导入数据库方法
    Remoting简单实践
    js面向对象继承
    Linq实现t-Sql的各种连接
    数据库树状结构的关系表的删除方案
    记录一次SQL查询语句
    mvc请求过程总结
    T-sql表表达式
    各个浏览器的兼容问题及样式兼容处理(不定期补充)
    vue.js 键盘enter事件的使用
  • 原文地址:https://www.cnblogs.com/linliquan/p/13060727.html
Copyright © 2011-2022 走看看