风忞 2023-06-02 16:47 采纳率: 50%
浏览 21
已结题

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中启动就没有这种情况,这是为什么呢?该怎么解决呢?

  • 写回答

1条回答 默认 最新

  • 瞬间的未来式 2023-06-02 17:58
    关注

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

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月9日
  • 创建了问题 6月2日

悬赏问题

  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误