报名立减200元。暑假直降6888。

邀请链接:http://www.jnshu.com/login/1/20535344

邀请码:20535344

Quartz官网

添加quartz到Java应用中很容易,只需要学习一些概念就可以开始。

首先需要 Quartz Core Library,quartz-version.jar。Quartz只需要很少是依赖,通常至少需要sl4f-api.jar。如果需要将schedualing data存进数据库,则需要c3p0 library。

You may also want the quartz-jobs jar file on your classpath - if you want to use any of the jobs "built into" quartz.

You can download the full distribution (with examples, source, dependencies, doc, etc.).

1.添加Quartz到应用(maven)

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

2.使用quartz

2.1启动一个Scheduler

Schedulers 是由factories创建的。Schedulers可以立刻被用来调度jobs,但是只有在调用了.start()方法后,才开始执行单元。

//从工厂获取Scheduler实例

Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

//启动它

sheduler.start();

2.2  code with the Quartz Fluent Scheduling API

The Quartz API 被设计成向DSL(domain-specific language)一样流畅。如果采用静态地方法来引入API components 可以很轻松。(import 也可以static?)

import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
import static org.quartz.JobBuilder.*;
import static org.quartz.TriggerBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;

完成上面操作后就可以实现Jobs,必须有一个.execute();方法。

public class MyJob implements org.quartz.Job {

      public MyJob() {
} public void execute(JobExecutionContext context) throws JobExecutionException {
System.err.println("Hello World! MyJob is executing.");
}
}

之后可以用triggers来调度(schedule)这些jobs。trigger 是用来定义job该被哪个时间执行。

// define the job and tie it to our MyJob class(定义job并绑定到MyJob类)
JobDetail job = newJob(MyJob.class)
.withIdentity("job1", "group1")
.build(); // Trigger the job to run now, and then repeat every 40 seconds(job现在启动,然后设置为40秒重复一次)
Trigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build(); // Tell quartz to schedule the job using our trigger(告诉quarts用我们创建的trigger来调度job)
scheduler.scheduleJob(job, trigger);


学习使用Quartz,java的更多相关文章

  1. SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏

    SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!!   基础知识目前不够,有感性 ...

  2. 学习笔记之Java程序设计实用教程

    Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...

  3. Android开发学习必备的java知识

    Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...

  4. map和flatmap的区别+理解、学习与使用 Java 中的 Optional

    转自:map和flatmap的区别 对于stream,   两者的输入都是stream的每一个元素,map的输出对应一个元素,必然是一个元素(null也是要返回),flatmap是0或者多个元素(为n ...

  5. 【知了堂学习笔记】java 自定义异常

    java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCas ...

  6. 20165315 C语言学习情况与Java学习目标

    20165315 C语言学习情况与Java学习目标 一.出色技能的获取经验 我从小便是一个中规中矩的人,在很多方面都是让成绩尽量保持在前百分之二十到三十这个范围内,比如我比较擅长的唱歌和乒乓球,但也不 ...

  7. JavaSE入门学习7:Java基础语法之语句(下)

    继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...

  8. 标准Trie字典树学习二:Java实现方式之一

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! 系列文章: 1. 标准Trie字典树学习一:原理解析 2.标准T ...

  9. JDK学习---深入理解java中的HashMap、HashSet底层实现

    本文参考资料: 1.<大话数据结构> 2.http://www.cnblogs.com/dassmeta/p/5338955.html 3.http://www.cnblogs.com/d ...

  10. JDK学习---深入理解java中的LinkedList

    本文参考资料: 1.<大话数据结构> 2.http://blog.csdn.net/jzhf2012/article/details/8540543 3.http://blog.csdn. ...

随机推荐

  1. delphi资源文件的使用

    delphi资源文件的使用 资源文件(*.res)通过编译指令 $R 关联, 譬如工程文件 Project1 中的 {$R *.res} 就是关联 Project1.res 资源文件, 我们直接写作 ...

  2. MVC4使用SignalR出现$.connection is undefined错误备忘

    SignalR使用过程中一定要注意js的引用顺序,否则就会出现$.connection is undefined脚本错误.

  3. Java 几个有用的命令 - All Options, Memory Options, GC Options, System Properties, Thread Dump, Heap Dump

    jcmd  ##Refer to http://www.cnblogs.com/tang88seng/p/4497725.html java -XX:+PrintFlagsFinal -version ...

  4. Windows窗体原理及控件WM_DRAWITEM和子类化重绘演示文件

    http://download.csdn.net/detail/wenzhou1219/6783959

  5. FastDFS结合FastDHT实现文件去重存储

    存储文件时,为了节省存储空间,需要实现文件去重,即同一份文件只在服务器上存储一份.一种实现是文件上传后先落到应用服务器上,计算MD5并存储到数据库中,然后决定是否上传存储服务器.这样做的缺点是应用服务 ...

  6. ubuntu 14.04搭建tensorflow-gpu开发环境

    一.安装nvidia显卡驱动 去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers 找到显卡对应的驱动下载,例如下载的驱动为 NVI ...

  7. Codility---PermCheck

    Task description A non-empty zero-indexed array A consisting of N integers is given. A permutation i ...

  8. java.lang.Integer cannot be cast to java.lang.String

    错误原因是类型转换! 说Integer 类型不能转成String类型.  解决办法: 将错误中的(String)强制转换类型修改为    object.toString() toString方法是Ja ...

  9. 简单学习js

    由于是个前端小白,通过这一两天的学习html,css,js和jquery等,基本上前端会用了,而且熟悉我博客的人来说,没错,我把自己的博客给优化了一下(一些大佬都是禁用模板的所有样式,然后自己设计页面 ...

  10. 系列教程 - java web开发

    代码之间工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: java web 开发教程(1) - 开发环境搭建 技术交流QQ群: 商务合作 ...