关于java常用场景实现

CommandLineRunner、ApplicationRunner 接口是在容器启动成功后的最后一步回调(类似开机自启动)。

配合延时任务Timer,可以做到容器启动后执行脚本任务的效果:

下面的延时的详细说明

public static void timer2() {
    Timer timer = new Timer();
     timer.schedule(new TimerTask() {
       public void run() {
         System.out.println("-------设定要指定任务--------");
       }
     }, 1000, 5000);  //Timer延时1秒执行,每5秒循环一次
 }  

结论:

1、TimerTask的run运行在子线程,非UI线程

2、如果TimerTask的run中有耗时操作

    当耗时操作小于period周期时,仍以period时间为准进行周期循环

    当耗时操作大于period周期时,等run执行完后,立即进行下一次

暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
原文地址:https://www.cnblogs.com/zenghansen/p/14675794.html