读书人

第四节: Quartz部署器

发布时间: 2013-04-07 12:50:11 作者: rapoo

第四节: Quartz调度器

调度器介绍:

Quartz调度器(Scheduler)主要有两个,一个是远程调度器(RemoteScheduler),一个是标准调度器(StdScheduler),它们是由调度工厂完成实例化的,对用户是封闭的。由工厂实例化哪个调度器取决于用户自己的配置。

我们看一下调度工厂的类图:

第四节: Quartz部署器

?

通过类图我们注意到两个调度器其实是对用户不可见的,而且是方便以后扩展的。另外DirectSchedulerFactory工厂是个单例,大家用quartz的时候一般会用过StdSchedulerFactory而很少会用到DirectSchedulerFactory,是因为DirectSchedulerFactory不允许配置,需要用户在代码里配置所有的属性,不太灵活。但对于阅读代码来说,我还是喜欢从DirectSchedulerFactory开始。

?

DirectSchedulerFactory工厂:

DirectSchedulerFactory?相对简单一点,它内部除了实现接口的方法就还有几个调来调去的重载方法:

第四节: Quartz部署器

?

下面我们就用如上图第8个重载函数,来进行实例化调度器,并完成一次作业:

如下代码:

1.job还是用第一节中的MyJob

2.调度代码:

?

总结:通过以上代码,我们可以看到执行结果和前几节是一样的,只不过我们显示的将配置写到代码中,从代码内容可以看出,调度器工厂在进行实例化调度器的时候都干什了些什么事情。比如有实例化线程池,实例化job存储器,实例化插件,等其它的东东。

?

?

?

代码:

???}??

读书人网 >软件架构设计

热点推荐