最近接盘了个别人的项目,新需求是在项目启动的时候启动定时器,每隔两小时执行一次。我写了个定时器类继承了ApplicationRunner,重写run(),在run中调用定时任务。但存在个问题,项目启动需要初始化资源,而定时器任务需要读取资源,怎么实现init()资源加载完在启动run()开启定时任务?想请问下有没有什么好的建议。
如果是springboot项目可以直接使用@Scheduled注解
如果是springboot项目最简单的就是直接使用@Scheduled注解开启定时任务;
你要资源加载完再开启也可以在main方法调用 SpringApplication.run(XXApplication.class);后调用自己的定时任务;
或者实现 ApplicationListener,监听资源初始化完成事件