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

Quartz(三)CronTrigger(常用)

程序员文章站 2022-07-14 10:19:41
...

Cron表达式

用于配置CronTrigger实例,是由7个表达式组成的字符串,描述了时间表的详细信息,格式:[秒] [分] [小时] [日] [月] [周] [年]
Quartz(三)CronTrigger(常用)
Quartz(三)CronTrigger(常用)

代码实例

pom包

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.3</version>
</dependency>
  1. HelloJob1
public class HelloJob1 implements Job{
    public void execute(JobExecutionContext context) throws JobExecutionException {
        Date date = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("CronJob实例:"+sf.format(date));
    }
}
  1. 测试类–每秒执行一次任务
public static void main(String[] args) throws SchedulerException {
        //创建JobDetail实例  将实例与Hellojob绑定
        JobDetail jobDetail = JobBuilder.newJob(HelloJob1.class)
                .withIdentity("jobName1","group1")
                .build();
        //创建一个Trigge实例,定义Job的执行方式
        CronTrigger trig= (CronTrigger) TriggerBuilder
                .newTrigger()
                .withIdentity("myTrigger","group1")
                .startNow()
                .withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ? *"))
                .build();
        //创建Schedule实例
        SchedulerFactory sfact = new StdSchedulerFactory();
        Scheduler scheduler = sfact.getScheduler();
        scheduler.start();
        scheduler.scheduleJob(jobDetail,trig);
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间:"+sf.format(new Date()));
    }

运行结果:

CronJob实例:2018-08-05 21:16:12
当前时间:2018-08-05 21:16:12
CronJob实例:2018-08-05 21:16:13
CronJob实例:2018-08-05 21:16:14
CronJob实例:2018-08-05 21:16:15
CronJob实例:2018-08-05 21:16:16
CronJob实例:2018-08-05 21:16:17
CronJob实例:2018-08-05 21:16:18
CronJob实例:2018-08-05 21:16:19
CronJob实例:2018-08-05 21:16:20
CronJob实例:2018-08-05 21:16:21
CronJob实例:2018-08-05 21:16:22

相关标签: Quartz