IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Quartz2.2.x基本知识

    王 雪松发表于 2014-07-17 03:40:00
    love 0

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.2.1。

    在quartz中有三个重要概念:

    调度器:负责调度作业和触发器;

    触发器:设置作业执行的时间、参数、条件等;

    作业:定时任务内容,被执行的程序;

    在项目中使用quartz需要导入:quartz-2.2.1.jar,quartz-jobs-2.2.1.jar,slf4j-api-1.6.6.jar,slf4j-log4j12-1.6.6.jar,log4j-1.2.16.jar,c3p0-0.9.1.1.jar(配置数据库连接池时用),在web项目中可能需要导入jta.jar。

    quartz的核心接口和类有以下几个:

    Job接口:用户定义定时作业时需要实现该接口,接口中仅包含一个抽象方法void execute(JobExecutionContext arg0)。

    JobDetail接口:Job实例的详细描述,例如Name,Group,JobDataMap等,该实例可以通过JobBuilder创建。

    Trigger抽象类:触发器类,用于定义触发规则信息,比如没个10分钟执行一次,每天0:00执行,月底执行等等。触发器又被分为两大类:Trigger和

    CronTrigger,其中前者用法比较简单,能够用于例如几点开始,几点结束,隔多长时间执行,共执行多少次等需要,而后者功能比较强大,可通过表达式配置负责的时间描述,比如每月最后一天0:00执行这样的周期不定的时间描述。

    JobExecutionContext接口:包含各种上下文信息。

    JobDataMap类:为Job实例保存状态信息。

    JobListener,TriggerListener接口:用于监听触发器状态和作业扫行状态,在特写状态执行相应操作。

    JobStore接口:在哪里执行定时程序,可选的有在内存中,在数据库中。

    最后,一定要注意类库版本,版本间差异较大,最好下载对应的文档来参考。



沪ICP备19023445号-2号
友情链接