SpringBoot開發日記(四)——使用定時任務

 關鍵的點是如何隨系統自動開啓,這裏只需要繼承一個CommandLineRunner的接口就可以完美解決了

@Component
public class DelCommandLineRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        DelTask.del();
    }
}

 


public class DelTask {

    private static final String cron="0 0 1 * * ?";

    public static void del() throws SchedulerException{
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler scheduler = sf.getScheduler();
        JobDetail jobDetail= JobBuilder.newJob(RadarPicJob.class).withIdentity("picJob", "picGroup").build();
        Trigger trigger =TriggerBuilder.newTrigger()
                .withIdentity("picTrigger", "picTriggerGroup")// 觸發器名,觸發器組
                .startNow()
                .withSchedule(CronScheduleBuilder.cronSchedule(cron))// 觸發器時間設定
                .build();
        scheduler.scheduleJob(jobDetail, trigger);
        scheduler.start();
        System.out.println("啓動時間: " + new Date());
    }
}

實現類:


public class PicJob implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        System.out.println("任務開始執行!");
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章