Quartz 入门系列教程-01-入门案例

x33g5p2x  于2022-02-13 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(557)

Quartz

Quartz is a richly featured, open source job scheduling library that can be integrated within virtually
any Java application - from the smallest stand-alone application to the largest e-commerce system.

Quick Start

Quartz 可以帮助我们使得任务调度变得简单。

导入 jar

使用 maven 管理 jar,依赖如下

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

示例代码

  • MyJob.java

定义一个简单的 Job

package com.ryo.quartz.hello.job;

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

public class MyJob implements Job {

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        System.err.println("Hello Quartz!");
    }

}
  • AppMain.java

运行上述 Job

package com.ryo.quartz.hello;

import com.ryo.quartz.hello.job.MyJob;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

public class AppMain {

    public static void main(String[] args) throws SchedulerException {
        // define the job and tie it to our MyJob class
        JobDetail job = JobBuilder.newJob(MyJob.class)
                .withIdentity("job1", "group1")
                .build();

        // Trigger the job to run now, and then repeat every 5 seconds
        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("trigger1", "group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(5)
                        .repeatForever())
                .build();

        // Grab the Scheduler instance from the Factory
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        // and start it off
        scheduler.start();
        // Tell quartz to schedule the job using our trigger
        scheduler.scheduleJob(job, trigger);
    }
}

运行结果

每 5S 执行一次我们的 Job

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

Hello Quartz!
Hello Quartz!
Hello Quartz!
Hello Quartz!

代码地址

quartz-hello

上一篇:00-序章

相关文章