ApplicationRunner方法不执行问题


背景:

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

问题:

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

解决:

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

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

原因:

springboot启动,执行方法callRunners

org.springframework.boot.SpringApplication#callRunners

 

 需要一个方法返回然后才会执行下一个,但是在方法中死循环监听消息队列,所以没有返回,所以不执行下一个


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM