第一个Quartz程序 (二)

简介: 1 我们使用maven项目 2 创建一个job类,在execute()方法里写上业务逻辑代码。 3 在另外一个类中创建触发器,调度器,并且绑定job。   首先在项目的pom.xml引入需要的jar包。

1 我们使用maven项目

2 创建一个job类,在execute()方法里写上业务逻辑代码。

3 在另外一个类中创建触发器,调度器,并且绑定job。

 

首先在项目的pom.xml引入需要的jar包。

     <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-jobs</artifactId>
        <version>2.2.1</version>
      </dependency>  

创建一个job

package quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

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

public class JobClass implements Job {

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        Date date=new Date();
        SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间为:"+sf.format(date));
        // 编写业务逻辑
        System.out.println("hello Quartz");
    }

}

 再创建另外一个类

package quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class SchedulerClass {
    
    public static void main(String[] args) throws SchedulerException {
        // 创建一个JobDetail实例 将该实例与JobClass绑定,JobDetail是由Builder模式来创建的,JobDetail是来绑定job的。
        // withIdentity 创建唯一的标识
        JobDetail jobDetail = JobBuilder.newJob(JobClass.class).withIdentity("job").build();
        
        // 创建一个Tigger实例,定义 job立即执行,并每隔一段时间重复执行,每隔5秒中执行一次
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger").startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build();
        
        // 创建一个Scheduler实例, Scheduler是由工厂模式来创建的 so
        SchedulerFactory factory = new StdSchedulerFactory();
        Scheduler scheduler = factory.getScheduler();
        scheduler.start();

        Date date = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("当前时间为:" + sf.format(date));
        //调度器调用任务和触发器,scheduler将job,trigger绑定在一起。
        scheduler.scheduleJob(jobDetail, trigger);
        
        
        

    }
}

但是这样看起来很复杂的!

相关文章
|
4月前
|
存储 Java API
Quartz表达式:定时任务调度的高级配置与应用
Quartz表达式:定时任务调度的高级配置与应用
|
5月前
|
Java Maven Spring
第一个Spring程序(代码篇)
第一个Spring程序(代码篇)
28 1
|
4月前
|
Java 调度 开发者
定义和使用Quartz调度表达式
定义和使用Quartz调度表达式
|
6月前
|
Java Linux 调度
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
122 2
|
XML 存储 Java
Quartz-JobDataMap 参数传递
Quartz-JobDataMap 参数传递
270 0
|
Java Maven
02.第一个Springboot程序
02.第一个Springboot程序
|
XML 小程序 Java
创建第一个Servlet程序
创建第一个Servlet程序
107 0
创建第一个Servlet程序
|
存储 Java 调度
这种方式整合Quartz你见过吗?
`Quartz`是一款优秀的任务调度框架,支持内存、JDBC的形式来存储未执行的任务列表,支持多个任务节点同时执行任务,支持任务漂移到不同的节点执行。
|
Java 调度 Spring
Quartz任务调度(4)JobListener分版本超详细解析
<div class="markdown_views"> <p>在<a href="http://blog.csdn.net/qwe6112071/article/details/50966660">《spring学习笔记(15)趣谈spring 事件:实现业务逻辑解耦,异步调用提升用户体验》</a>我们通过实例分析讲解了spring的事件机制,或许你会觉得其中的配置略显繁琐,
3566 0
|
数据库 调度
【Quartz】问题记录注意事项【四】
原文:【Quartz】问题记录注意事项【四】 记录一:queartz 在同时启动多个任务是,触发器名称不能设置一致,不然第二次启动会不成功   记录二:quartz 在使用任务与触发器分离写法时,任务必须要带(.
1193 0