SpringBoot定时任务备忘录
/**
* SpringBoot启动类开启定时任务开关
*/
@SpringBootApplication
@EnableScheduling
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
/**
* 本类中的{@link #run(String...)}方法仅在启动后执行一次,所以用于推送存量数据<br/>
* 所有的定时任务类全部需要使用{@link org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean}
* 添加本类作为判断条件,这样可以在存量数据推送时不会执行定时推送的增量数据。<br/>
* 本类中的{@link #keepalive()}方法用于保持jvm的运行,避免kafka的生产者异步监听失败。
*
* @author lzh
* @date 2021/11/17
*/
@Component
@Slf4j
public class AppRunner implements CommandLineRunner {
@Override
public void run(String... args) {
log.info("启动执行");
}
@Scheduled(cron = "0/30 * * * * ?")
public void keepalive() {
log.info("该方法的作用在于保持服务的运行,避免kafka的异步监听失败");
}
}