Quartz的HelloWorld案例。

一、说在之前

刚才突然想起了Quartz,想快速使用起来。

找了半天HelloWorld的demo奈何都没有一个能称之为helloWord。介绍一堆没用的。。。

废话不多说。直接上代码。拿去就能用。

二、code

1)引入依赖

    
		    org.quartz-scheduler
		    quartz
		    2.3.0
    

2)写一个类实现Job

public class HelloJob implements Job{

	@Override
	public void execute(JobExecutionContext context) throws JobExecutionException {
		//这就是你一直定时执行的任务
        System.out.println("hello");
	}

}

3)配置一下就能用

public static void main(String[] args) throws Exception {
		 // 1、创建调度器Scheduler
        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        Scheduler scheduler = schedulerFactory.getScheduler();
        // 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
                                        .withIdentity("trigger1","triggerGroup1").build();
        // 3、构建Trigger实例,每隔1s执行一次
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "triggerGroup1")
                .startNow()//立即生效
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                .withIntervalInSeconds(10)//每隔10s执行一次
                .repeatForever()).build();

        //4、执行
        scheduler.scheduleJob(jobDetail, trigger);
        scheduler.start();

	}

到这就算helloword案例写完了。

三、一些介绍

 我们需要明白 Quartz 的几个核心概念,这样理解起 Quartz 的原理就会变得简单了。

 

  1. Job 表示一个工作,要执行的具体内容。此接口中只有一个方法,如下:void execute(JobExecutionContext context) 就是干的活写在这里。  
  2. JobDetail 表示一个具体的可执行的调度程序,Job 是这个可执行程调度程序所要执行的内容,另外 JobDetail 还包含了这个任务调度的方案和策略。 就是把干的活和这个类绑定在一起 
  3. Trigger 代表一个调度参数的配置,什么时候去调。 就是告诉这个类我多久执行一次 
  4. Scheduler 代表一个调度容器,一个调度容器中可以注册多个 JobDetail 和 Trigger。当 Trigger 与 JobDetail 组合,就可以被 Scheduler 容器调度了。 最后把我们设定好的两个对象传给他就能实现了。 

可参考:https://www.w3cschool.cn/quartz_doc/

helloword够用了,想深入学习就去看看文档我们后序再追更quartz的篇章。

OK,以上。不足之处欢迎指正。

你可能感兴趣的:(HelloWorld篇)