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

  • 相关阅读:
    测试开发面试集锦_数据库
    测试开发面试集锦_linux
    测试开发面试题集锦_java
    Java中equals 和==的区别
    定时清理文件shell脚本
    java文件上传,upload使用
    python 获取错误日志,并发送邮件
    c语言代码审计规范
    渗透测试之nmap
    渗透测试之GoogleHack
  • 原文地址:https://www.cnblogs.com/linliquan/p/13060727.html
Copyright © 2011-2022 走看看