文档章节

Quartz初体验

雨翔河
 雨翔河
发布于 2016/07/31 10:46
字数 360
阅读 89
收藏 2

    quartz初体验

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

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

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

    直接看代码吧

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

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

 

下面是主要代码:

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();
    }
}

 

任务启动:

/**
 * 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中,这里就不详解了,注册监听器,随着容器启动就可以了,不过要注意的是销毁的时候要记得清理掉定时任务,

 

 

© 著作权归作者所有

雨翔河

雨翔河

粉丝 185
博文 56
码字总数 35223
作品 0
深圳
程序员
私信 提问
Quartz.net2.2初体验

简介:Quartz.net是一个开源的作用调度框架,非常强大,能够通过简单的配置帮助我们定时具体的操作。相对于我们用的线程里面while(true)然后sleep来执行某个操作,应该算的上是高端,大气,...

mszhangxuefei
2013/11/01
0
0
基于spring+quartz的分布式任务调度

学习地址:http://www.roncoo.com/course/view/e2b459016e2e477dbd5d67c8b23fe86d 课程介绍 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相...

小红牛
2018/04/19
0
0
初识Quartz (一)

首先大概的了解一下Quartz。 一:首先进入官网去看看什么是quartz。http://www.quartz-scheduler.org/ Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的...

陈嘻嘻哈哈
2017/08/18
0
0
Terracotta收购Quartz开源调度框架

  【IT168 资讯】3个月前,Terracotta收购了Ehcache。   近日,著名的开源java 集群软件开发商Terracotta宣布收购开源的调度框架-Quartz。它是OpenSymphony开源组织在Job scheduling领域...

IT168网站
2009/11/23
0
0
定时任务发展史(一)

定时任务是互联网行业里最常用的服务之一,本文给大家介绍定时任务在我司的发展历程。 linux系统中一般使用crontab命令来实现,在Java世界里,使用最广泛的就是quartz了。我司使用quartz就已...

ityouknow
2017/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

驰骋工作流引擎-督查督办系统

1.概要说明 督查督办系统信息化平台适用于政府,企事业单位的重点项目跟进,重点工程部署,及各级精神的传达等督查督办性工作。开发设计坚持流程式管理的总体思路,充分体现督查事项立项的规...

孟娟
3分钟前
0
0
阿里靠什么支撑 EB 级计算力?

作者 关涛 阿里云智能事业群 研究员 导读:MaxCompute 是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务。去年MaxCompute 做了哪些工作,这...

zhaowei121
6分钟前
0
0
mybatis生成代码配置详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.o......

事儿爹
8分钟前
0
0
Vuex和表单绑定的一个神级坑再填一遍

vuex有一个很大的缺陷,就是和input输入框的v-model本身是冲突的。 官方文档给出了两种解决方案:https://vuex.vuejs.org/zh/guide/forms.html 一个是使用get和set → 适用于input框比较少的...

LinearLaw
10分钟前
0
0
CPU与GPU的区别

作者讲述的清楚: 我的理解:1 GPU ALU更多 2 Core 更多 3 业务更加专一(主要进行密集计算) 4 缓存区更少 https://www.zhihu.com/question/19903344...

南桥北木
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部