最近在家自主学习一个项目,打算采用RabbitMQ来异步处理消息。首先,将信息封装在一个类里,发送到MQ中,再通过异步监听相应的队列,取出Queue中的消息并处理。
但是今天在操作时,发送消息至MQ是没有问题的,但是从MQ中取出消息出现了错误。经过排查,终于找到了原因,原来是我在消息类里面自主创建了构造函数,导致消息接受失败。因此,为了避免出现这种问题,使用者要注意一下几个细节:
- 消息类要加@Data注释
- 消息类要实现Serizable接口
- 消息类不能存在构造方法,而要存在getter和setter
- 消息类最好可以重写toString方法
具体的原因还有待去探究,待我学成归来继续补充~