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

  • 相关阅读:
    数据泵使用笔记与相关shell
    手动创建数据库
    归档日志小试
    SQL语句的结果如何反映在SGA与磁盘中
    oracle 表空间
    linux 循环判断、数组、循环
    oracle 连接方式
    Changing Project Binding to Surround SCM Integration Provider with Visual Studio 2010
    On Caching and Evangelizing SQL
    Windows下使用python3 + selenium实现网页自动填表功能
  • 原文地址:https://www.cnblogs.com/linliquan/p/13060727.html
Copyright © 2011-2022 走看看