Quartz初体验

    quartz初体验java

    Quartz是一个开源做业调度框架。linux

    看了一下官方的例子,一些简单的任务执行很是方便,和使用linux里的contab有点相似。web

    大体就是在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,
quartz就会去准备执行。
框架

    直接看代码吧ui

    先解决依赖,它须要的依赖比较少。spa

<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>

 

下面是主要代码:code

public class App {

    private static final int SECONDS = 5;  //多少秒执行一次这个任务

    public static void main(String[] args) throws SchedulerException {

        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

        //配置任务的描述等
        JobDetail job = newJob(MyJob.class)
                .withIdentity("job1", "group1")
                .withDescription("detail")
                .build();

        //配置任务的执行规律等等
        Trigger trigger = newTrigger()
                .withIdentity("trigger1", "group1")
                .startNow()
                .withSchedule(simpleSchedule()
                        .withIntervalInSeconds(SECONDS)
                        .repeatForever())
                .build();

        //组装好任务
        scheduler.scheduleJob(job, trigger);

        System.out.println("start job");

        //启动
        scheduler.start();
    }
}

 

任务启动:xml

/**
 * MyJob
 */

public class MyJob implements Job {

    public MyJob() {
        System.out.println("my job ");
    }

    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("execute");
    }
}

   

    到这里一个简单的quartz任务调度就ok了,这是在一个简单的应用中使用quartz。
    它也能够放入web中,这里就不详解了,注册监听器,随着容器启动就能够了,不过要注意的是销毁的时候要记得清理掉定时任务,接口

相关文章
相关标签/搜索