springboot启动项


@Component
public class ThoroughfareServer implements CommandLineRunner {
    private static final Logger log = LoggerFactory.getLogger(ThoroughfareServer.class);

    @Override
    public void run(String... args) throws Exception {
        httpAdapter();
    }
    public void httpAdapter() {
       while (true) {
                Thread.sleep(2000);
                String fetchMessage = HttpUtils.sendGet(MiraiUrlUtils.fetchMessage(10));
                Map<String, Object> fetchMessageData = (Map<String, Object>) JSON.parse(fetchMessage);
                if (Convert.toInt(fetchMessageData.get("code")) != BasicUtil.API_INF_SUCCESS) {
                    log.error("获取消息失败!" + Convert.toStr(fetchMessageData.get("msg")));
                }

                List<Map<String, Object>> fetchMessageList = (List<Map<String, Object>>) fetchMessageData.get("data");
                for (Map<String, Object> messageData : fetchMessageList) {
                    messageAcquireMessage.processingMessage(messageData);
                }
            }
    }
}

这个类实现了CommandLineRunner的run方法,按理说他是会在springboot启动类启动完成后再执行run方法的死循环,我在idea中也的确实现了,也能打开程序的web访问页面,但是我把程序打成war包放在tomcat中运行,tomcat并未将springboot启动类启动完成,反而直接执行到死循环中,导致程序并未完全启动,访问程序页面时一直在转圈加载中,但是在idea中启动就没有这种情况,这是为什么呢?该怎么解决呢?

idea中启动估计压根都没触发这段代码吧