欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

三步搞定简单定时调度任务

程序员文章站 2022-05-18 10:22:09
...

1.maven 坐标

 <!-- Quartz 依赖 -->
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.3.1</version>
    </dependency>
  </dependencies>

2.需要被定时执行的业务

package com.yang.demo;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import java.util.Date;

public class Demo implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //此处为任务执行。 内写业务逻辑
        System.out.println("定时执行的任务:"+new Date().toString());
    }
}

3.启用定时调度

package com.yang.demo;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class TestDemo {
    public static void main(String[] args) {
        try{

            //idjm Job对象,把需要做的事情给扔进去
            JobDetail job = JobBuilder
                    .newJob(Demo.class)
                    .build();

            //创建触发器 ,按照 cron 的表达式来给定触发的时间
            //cron 表达式可以自行在网上搜索
            Trigger trigger = TriggerBuilder
                    .newTrigger()
                    .withSchedule
                            (CronScheduleBuilder
                                    .cronSchedule("4,8 * * * * ? "))
                    .build();

            //创建 Scheduler 定时调度对象  放入触发器,以及Job 即可
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
            scheduler.scheduleJob(job,trigger);
            //启动
            scheduler.start();

        }catch(Exception e){
            e.printStackTrace();
        }
    }
}


运行即出结果:
三步搞定简单定时调度任务

相关标签: 代码 java