关闭

实现任务的自动调度——Quartz

410人阅读 评论(0) 收藏 举报
分类:


Quartz Jar文件

Quartz包中有很多jar,在根目录中。最主要的一个库叫作quartz-all-xxx.jar(xxx是版本号)。为了使用Quartz,你需要把这个jar放在你应用程序的classpath里。

你下载完之后,解压缩包,将quartz-all-xxx.jar这个文件取出来,放到任何你喜欢的地方。

因为我主要将Quartz用在应用服务器的环境中,所以我希望将Quartz jar放在我的程序中(也就是.ear或者.war中)。然而,如果希望多个应用都能使用Quartz,那么就放在你的应用服务器的classpath下吧。如果你只希望有一个独立的应用,那么就放在这个应用的classpath中,和其他的jar放在一起。

Quartz需要依赖很多第三方的库(以jar的形式),这些jar都放在了lib目录下,要使用所有的功能的话,你需要将所有的jar都放在classpath中。而如果你是建立一个独立的应用,建议你将所有的jar都放在classpath下。但若是在应用服务器的环境下,你可能已经包含其中某些jar了,这时就需要你进行取舍了,确定将什么版本的jar放到classpath下。

在应用服务器的环境下,你需要注意可能会有一些奇怪的结果,是由于你包含了同一个jar的不同版本。例如,Weblogic包含了J2EE的实现,但是不同于servlet.jar。所以,你最好将servlet.jar从classpath中移出来,以便知道真正用到了哪些类。

Properties文件

Quartz使用quartz.properties作为配置文件。你需要进行一些基本的配置,并将其放入classpath下。

再说一次,还是看你是什么环境。我个人而言用WebLogic,所以我将所有的配置文件(包括quartz.properties)放在应用程序根文件夹下。当我将所有的程序都打包到.ear时,这些配置文件都打包到.jar文件里,并包含在最后的.ear文件中。这将自动将quartz.properties文件包含在classpath下。

如果你的应用是.war,那么你可能要将quartz.properties放在WEB-INF/classes文件架下。

配置Quartz

配置是最重要的部分。Quartz是一个配置性很强的应用,最好的配置方法就是修改quartz.properties。

在解压缩包里已经含有了一些配置文件的范例,你可以查看examples/ 文件夹。不过我建议你创建你自己的quartz.properties,而不是直接拷贝范例文件然后删掉你不要的配置。创建你自己的配置文件能让你学到更多的东西.

查看所有有关配置的文档,请查看Quartz配置参考文档

最基本的配置文件quartz.properties如下:

1
2
3
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

这个配置有如下含义:

  • org.quartz.scheduler.instanceName – 调度器的名字是”MyScheduler”。
  • org.quartz.threadPool.threadCount – 在线程池中有三个线程。这就意味着最多有3个job可以同时运行。
  • org.quartz.jobStore.class – 所有的Quartz的数据保存在内存中(而不是数据库中)。尽管可能你有数据库,并且希望配合Quartz一起使用。但我仍旧建议你首先使用RAMJobStore,再去接触数据库。
Quartz里的触发器
1.SimpleTrigger:主要用于简单的调度。
2.CronTrigger:用于更复杂的调度,基于Unix Cron的表达式。

Quartz里的调度器
用于将任务与触发器关联起来,一个任务可关联多个触发器,一个触发器也可用于控制多个任务。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1290次
    • 积分:66
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档