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