天天看点

ApplicationRunner方法不执行问题

背景:

需要消费上游消息,上游使用队列为IBM MQ,使用JmsListener监听,启动项目报错2035授权问题,上游提供demo可以发送消费成功,因开发进度使用demo,while(true)循环监听

问题:

有多个队列,写多个ApplicationRunner消费,但是只执行了一个,后续不执行

解决:

不再run方法里面直接死循环,这样会卡死主线程,main方法一直不返回

在run里面新起线程循环拉取队列消息即可

原因:

springboot启动,执行方法callRunners

org.springframework.boot.SpringApplication#callRunners