背景:
需要消費上游消息,上游使用隊列為IBM MQ,使用JmsListener監聽,啟動項目報錯2035授權問題,上游提供demo可以發送消費成功,因開發進度使用demo,while(true)循環監聽
問題:
有多個隊列,寫多個ApplicationRunner消費,但是只執行了一個,后續不執行
解決:
不再run方法里面直接死循環,這樣會卡死主線程,main方法一直不返回
在run里面新起線程循環拉取隊列消息即可
原因:
springboot啟動,執行方法callRunners
org.springframework.boot.SpringApplication#callRunners

需要一個方法返回然后才會執行下一個,但是在方法中死循環監聽消息隊列,所以沒有返回,所以不執行下一個
