quartz教程:quartz2.0与Spring3.1的整合

Spring对Quartz中的各个组件:JobDetail,Trigger,Scheduler等提供了一层Bean-Style的封装,在Spring中使用Quartz,我们基本只需要实现自己的Job,之后在配置文件中配置JobDetail,Trigger,Scheduler即可,不需要做其它的事情,非常方便。至于涉及到Job的持久化问题时,由于在Spring中配置DataSource更容易,也简化了相关的工作。

本来将quartz整合到spring只是一个小问题,但是因为版本的支持问题,搞[......]

Read more

Posted in Java | Tagged , | Leave a comment

Quartz教程:深入Job与JobDetail

在前面部分,我们知道Job中定义了实际的业务逻辑,而JobDetail包含Job相关的配置信息。在Quartz中,每次Scheduler执行Job时,在调用其execute()方法之前,它需要先根据JobDetail提供的Job类型创建一个Job class的实例,在任务执行完以后,Job class的实例会被丢弃,Jvm的垃圾回收器会将它们回收。

因此编写Job的具体实现时,需要注意:(1) 它必须具有一个无参数的构造函数;(2) 它不应该有静态数据类型,因为每次Job执行完以后便被回收[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:Scheduler及事件机制

(1)     Scheduler

在这之前,我们创建Scheduler都是通过下面的语句:

Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

这使用的是默认的调度器,它会依据quartz.properties配置文件为我们设置好相关的属性,包括使用的调度器、线程池、线程池中线程数、采用的JobStore等等。如果我们在自己应用的classpath中写了quartz.properties,则Schedule[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:深入trigger及cron表达式

Quartz提供了几个Trigger类型供用户使用,对应的实现可以在org.quartz.impl.triggers中看到,一般情况下,用户用得最多的是SimpleTrigger与CronTrigger。对于最简单的情况,如只需Job在某一个特定的时间执行一次,亦或在某个时间之后按一定的时间间隔重复执行,则可使用简单的SimpleTrigger,至于CronTrigger,如果你了解cron表达式(对于linux牛,应该知道,因为linux的定时任务cron也是如此这般),便知道它几乎可以适应所[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:简介及使用

Quartz是一个开源的任务调度服务,它可以独立使用,也可与其它的Java EE,Java SE应用整合使用。无论是执行十个,一百个工作的简单任务,还是执行成百上千个工作的复杂调度任务都可以使用Quartz来实现,此外,Quartz还提供了很多企业级应用的特色,如JTA事务支持及集群。

如果你的应用中有任务需要在特定的时间执行,亦或周期循环执行,则Quartz也许是你理想的选择。

Quartz的使用

作为一个Javaer,自然知道第一步是下载Quartz的jar包,Quartz[......]

Read more

Posted in Java | Tagged | Leave a comment