作者归档

Quartz教程五:SimpleTrigger

原文链接 | 译文链接 | 翻译:nkcoder

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)

SimpleTrigger可以满足的调度需求是:在具体的时间点执行一次,或者在具体的时间点执行,并且以指定的间隔重复执行若干次。比如,你有一个trigger,你可以设置它在2015年1月13日的上午11:23:54准时触发,或者在这个时间点触发,并且每隔2秒触发一次,一共重复5次。

根据描述,你可能已经发现了,SimpleTrigger的属性包括:开始时间、结束时间、重复次数以及重复的间隔。这些属性的含义与你所期望的是一致的,只是关于结束时间有一些地方需要注意。

重复次数,可以是0、正整数,以及常量SimpleTrigger.REPEAT_INDEFINITELY。重复的间隔,必须是0,或者long型的正数,表示毫秒。注意,如果重复间隔为0,trigger将会以重复次数并发执行(或者以scheduler可以处理的近似并发数)。

阅读全文

Quartz教程四:Trigger

原文链接 | 译文链接 | 翻译:nkcoder

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)

与job一样,trigger也很容易使用,但是还有一些扩展选项需要理解,以便更好地使用quartz。trigger也有很多类型,可以根据实际需要来选择。

最常用的两种trigger会分别在教程五:SimpleTrigger教程六:CronTrigger中讲到;

阅读全文

Quartz教程三:Job与JobDetail介绍

原文链接 | 译文链接 | 翻译:nkcoder | 校对:

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)。

正如在教程二中讲到的,Job实现起来很容易,该接口只有一个“execute”方法。本节主要关注:Job的特点、Job接口的execute方法以及JobDetail。

你定义了一个实现Job接口的类,这个类仅仅表明该job需要完成什么类型的任务,除此之外,Quartz还需要知道该Job实例所包含的属性;这将由JobDetail类来完成。

阅读全文

Quartz教程二:API,Job和Trigger

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)。

Quartz API

Quartz API核心接口有:

  • Scheduler – 与scheduler交互的主要API;
  • Job – 你通过scheduler执行任务,你的任务类需要实现的接口;
  • JobDetail – 定义Job的实例;
  • Trigger – 触发Job的执行;
  • JobBuilder – 定义和创建JobDetail实例的接口;
  • TriggerBuilder – 定义和创建Trigger实例的接口;

阅读全文

Quartz教程一:使用quartz

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)

Scheduler在使用之前需要实例化。一般通过SchedulerFactory来创建一个实例。有些用户将factory的实例保存在JNDI中,但直接初始化,然后使用该实例也许更简单(见下面的示例)。

scheduler实例化后,可以启动(start)、暂停(stand-by)、停止(shutdown)。注意:scheduler被停止后,除非重新实例化,否则不能重新启动;只有当scheduler启动后,即使处于暂停状态也不行,trigger才会被触发(job才会被执行)。

阅读全文

Quartz教程:快速入门

原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞

本系列教程由quartz-2.2.x官方文档翻译、整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处,欢迎指正;有兴趣研究源码的同学,可以参考我对quartz-core源码的注释(进行中)

欢迎来到quartz快速入门教程。阅读本教程,你将会了解:

  • quartz下载
  • quartz安装
  • 根据你的需要,配置Quartz
  • 开始一个示例应用

当熟悉了quratz调度的基本功能后,可以尝试一些更高级的特性,比如Where,这个一个企业级功能,可以让job和trigger运行在指定的,而不是随机的Terracotta客户端上。

阅读全文

Maven入门指南(二)

原文链接 | 译文链接 | 译者:nkcoder | 审校:方腾飞

Maven目录结构

Maven有一个标准的目录结构。如果你在项目中遵循Maven的目录结构,就无需在pom文件中指定源代码、测试代码等目录。

Maven的目录结构布局,参考Maven标准目录结构介绍

以下为最重要的目录:

- src
  - main
    - java
    - resources
    - webapp
  - test
    - java
    - resources

- target

src目录是源代码和测试代码的根目录。main目录是应用的源代码目录。test目录是测试代码的目录。main和test下的java目录,分别表示应用的java源代码和测试代码。

resources目录包含项目的资源文件,比如应用的国际化配置的属性文件等。

如果是一个web项目,则webapp目录为web项目的根目录,其中包含如WEB-INF等子目录。

target目录是由Maven创建的,其中包含编译后的类文件、jar文件等。当执行maven的clean目标后,target目录会被清空。

阅读全文

Maven入门指南(一)

原文链接  译文链接  译者:nkcoder  校对:腾飞

Maven介绍:

Maven是一个强大的Java项目构建工具。当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因此Maven被更多的用于Java项目中。

这篇教程的目的是帮助你理解Maven的工作机制。因此教程主要关注Maven的核心概念。一旦你理解了这些核心概念,当你想了解更多的细节时,再取查看Maven文档,或者从网上搜索,就变得容易多了。

事实上,Maven开发者认为Maven不仅仅是一个构建工具。你可以去阅读他们的文档Maven哲学,看看他们是怎么想的。但是现在,我们就把Maven当作一个构建工具,当你理解和开始使用Maven后,你就明白Mavan到底是什么了。

本教程基于Maven 3.0.5。Maven网站的地址为:http://maven.apache.org,你可以从该网站上下载最新版的Maven,并关注项目的进展。

 

阅读全文

return top