Listener method could not be invoked with the incoming message和 Cannot convert from [java.lang.Strin

记录一下入门RabbitMQ问题
问题:

org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener method could not be invoked with the incoming message
和
org.springframework.messaging.converter.MessageConversionException: Cannot convert from [java.lang.String] to [sun.plugin2.message.Message] for GenericMessage [payload=send em......

环境:Springboot 集成 RabbitMQ中的入门程序,生产者是正常的,消费者在接收的有问题。
这个问题的跟网上别人的不一样的地方就是:消费者已经确认了消息被消费了,也就是说消费者已经拿到了信息,RabbitMQ基本已经完成了自己的任务。
Listener method could not be invoked with the incoming message和 Cannot convert from [java.lang.Strin_第1张图片
解决方案:检查消费者代码中的import包路径是否正确
错误案列:

import com.xuecheng.rabbitmq.config.RabbitmqConfig;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import sun.plugin2.message.Message;
import java.nio.channels.Channel;

正确案列:

import com.rabbitmq.client.Channel;
import com.xuecheng.rabbitmq.config.RabbitmqConfig;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

Message,Channel两个包容易到错。

附上我的消费者代码:
Listener method could not be invoked with the incoming message和 Cannot convert from [java.lang.Strin_第2张图片
就这个问题还搞了我一个小时,心累…

你可能感兴趣的:(开发问题,Springboot,RabbitMQ,消费者,入门问题,RabbitListener)