问题:rebbitmq队列中存在消息,在系统重启时,rabbitmq的消费者读取redis操作时,报空指针

而且本地复现不了,只有测试站才能复现

原因:redis获取初始化参数的加载顺序,晚于rabbitmq消费者初始化,导致在rabbitmq消费者消费时,spring去创建连接redis集群的链接操作时,报空指针异常,redis获取初始化连接参数配置的PostConstruct方法,还未加载,所以为空指针

解决办法:控制rabbitmq消费者初始化参数的PostConstruct方法,在redis的PostConstruct方法之后

Spring中多个PostConstruct控制加载顺序_rabbitmq

注意:首字母要小写