首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

[转]Quartz2.1.5学习(一)

2012-11-05 
[转]Quartz2.1.5学习(1)原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明

[转]Quartz2.1.5学习(1)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shuyangyang.blog.51cto.com/1685768/890639
Quartz 是一个功能强大的作业调度工具。
      日程安排好了之后,我们就要去执行,Quartz可以计划的执行这些任务,定时、循环或在某一个时间来执行我们需要做的事,用到Quartz可以很好的解决我们平时工作中的琐碎麻烦的事:比如,数据库系统需要我们每天23:50的时候需要执行一次备份,每月的15号需要将公司账目平台里的工资表导出……有了Quartz可以很好的来解决这些问题,不需要我们手动来执行。
Quartz官网:http://quartz-scheduler.org/ 可以在这里下载Quartz,也可以到我共享的资源里下载,免分的,请点击这里-》http://down.51cto.com/data/426993
我下载的是当前最新版本quartz-2.1.5。下载后,我们的压缩包里有:

docs文件夹:里面是Quartz的API、表数据库、图片文件夹
examples:里面是官方提供的一些DEMO
lib:第三方库,一些特性需要它们依靠
quartz:源码
quartz-*:支持各框架的源码
*.jar:一些JAR包
……
下面我们可以将官网下载的安装包里提供的例子导入到自己的IDE中,我使用的是MyEclipse8.5+Apache Tomcat6.0+JDK1.6.0。
创建一个Web应用程序,将第三方库lib文件夹下的jar包(quartz依赖的包)以及quartz-all-2.1.5.jar拷贝到WEB-INF/lib下,把examples/src文件夹拷贝到你的项目src下,刷新下项目,可能会出错,解决办法看这篇[MyEclipse中一些有趣的快捷键]这样即完成示例的准备工作。
来看官网提供的第一个例子:example1
注:将resources这个包里的log4j.xml、quartz_priority.properties这两个拷贝到src下,完整的如下:
先配置好日志文件,下面将会使用输出控制台打印出信息。
HelloJob.java



控制台打印信息:
[INFO] 06 六月 09:29:06.906 下午 main [org.quartz.examples.example1.SimpleExample]
------- Initializing ----------------------

[INFO] 06 六月 09:29:07.062 下午 main [org.quartz.impl.StdSchedulerFactory]
Using default implementation for ThreadExecutor

[INFO] 06 六月 09:29:07.078 下午 main [org.quartz.simpl.SimpleThreadPool]
Job execution threads will use class loader of thread: main

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.core.SchedulerSignalerImpl]
Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.core.QuartzScheduler]
Quartz Scheduler v.2.1.5 created.

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.simpl.RAMJobStore]
RAMJobStore initialized.

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.core.QuartzScheduler]
Scheduler meta-data: Quartz Scheduler (v2.1.5) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.


[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.impl.StdSchedulerFactory]
Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.impl.StdSchedulerFactory]
Quartz scheduler version: 2.1.5

[INFO] 06 六月 09:29:07.125 下午 main [org.quartz.examples.example1.SimpleExample]
------- Initialization Complete -----------

[INFO] 06 六月 09:29:07.140 下午 main [org.quartz.examples.example1.SimpleExample]
------- Scheduling Job  -------------------

[INFO] 06 六月 09:29:07.171 下午 main [org.quartz.examples.example1.SimpleExample]
group1.job1 will run at: Wed Jun 06 21:30:00 CST 2012

[INFO] 06 六月 09:29:07.171 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.

[INFO] 06 六月 09:29:07.171 下午 main [org.quartz.examples.example1.SimpleExample]
------- Started Scheduler -----------------

[INFO] 06 六月 09:29:07.171 下午 main [org.quartz.examples.example1.SimpleExample]
------- Waiting 10 seconds... -------------

[INFO] 06 六月 09:29:17.171 下午 main [org.quartz.examples.example1.SimpleExample]
------- 暂停下程序... -------------

[INFO] 06 六月 09:29:17.171 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED paused.

[INFO] 06 六月 09:29:27.171 下午 main [org.quartz.examples.example1.SimpleExample]
------- 重新开始程序... -------------

[INFO] 06 六月 09:29:27.171 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.

[INFO] 06 六月 09:29:27.171 下午 main [org.quartz.examples.example1.SimpleExample]
------- Shutting Down ---------------------

[INFO] 06 六月 09:29:27.171 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutting down.

[INFO] 06 六月 09:29:27.171 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED paused.

[INFO] 06 六月 09:29:27.578 下午 main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutdown complete.

[INFO] 06 六月 09:29:27.578 下午 main [org.quartz.examples.example1.SimpleExample]
------- Shutdown Complete -----------------
这里使用了Thread.sleep(10000); 是为了给调度的程序有时间执行。
=======================================================================
以上属于个人观点,难免有错误,如发现错误请留言告之,我会订正的。
=======================================================================
本文出自 “On My Way” 博客,请务必保留此出处http://shuyangyang.blog.51cto.com/1685768/890639

热点排行