问答详情
源自:2-4 RabbitMQ整合SpringBoot2-消费端处理消息-2

Listener threw exception

2019-07-31 20:07:44.751  WARN 13048 --- [cTaskExecutor-2] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed.


org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener threw exception

Caused by: org.springframework.amqp.support.converter.MessageConversionException: failed to convert serialized Message content

Caused by: java.lang.IllegalStateException: Could not deserialize object type

Caused by: java.lang.ClassNotFoundException: cn.waqwb.springbootproducer.entity.Order


2019-07-31 20:07:44.754 ERROR 13048 --- [cTaskExecutor-2] o.s.a.r.l.SimpleMessageListenerContainer : Execution of Rabbit message listener failed, and the error handler threw an exception

 [spring-rabbit-2.1.4.RELEASE.jar:2.1.4.RELEASE]


老师,求助,这是异常的部分信息,停了程序,删除exchange和queue重新启动,依然还是这个错误,其中有个错误是加载不到order类,这个让我觉得很尴尬,不知道是因为哪里没有加载到,autowired都有

提问者:慕圣5603621 2019-07-31 20:12

个回答

  • 莫南爵
    2021-06-09 22:41:54

    serialVersionUID 也必须一模一样


  • 慕斯卡81715748522978095
    2020-04-14 16:21:48

    2个实体类Order改成一样的包名就可以了

  • 末日余晖
    2020-02-24 21:17:40

    这个错误信息,你再往下看看,会发现报的有 ClassNotFoundException ,报的就是你那个实体类的路径错误,再仔细看看,发现这个路径就是你的发送端的实体类的路径,是不是很神奇,消费端为啥报的是发送端的路径?因为你这两个路径不一致,改成一样的就ok了

  • 逆水行
    2020-01-17 14:57:02

    反序列化失败

    在consumer中使用producer的entity类  即order

  • 慕粉3932472
    2019-08-02 19:59:37

    我猜  是你发送消息的消息体的类型和你监听接收的类型不一致  导致实例化失败