用quartz实现任务的动态配置(一)

此文是研究生时做项目时搞的一个小模块,随便拿来练练手的。其实quartz的表达式是最强大的,没必要搞什么界面。当时咋实现的已经想不起来了,见谅。。。让此文沉了吧。

关键字定义
  任务:需要由quartz的调度器自动调度执行的程序,实现Job接口。

框架  struts + spring + hibernate(本功能没用到数据库,因此不涉及hibernate)

实现功能
  1.可以通过spring的配置文件配置quartz的调度器和绑定了 任务的触发器,并可以设定任务的初始触发时间(此处我采用功能强大的cron 表达式来设定触发时间)。
  2.可以在service类里注入已经做了初始设定的scheduler,通过rescheduleJob方法,动态改变触发时间。

界面预览

图1 进入设置页面显示效果



图2、3、4 选择不同设定方式的显示效果

开发过程
1.提出要求:
   A.系统要有通过配置文件设置的默认触器(起始时间和终止时间可不设,由quartz的
   scheduler来设默认值。
   B.用户能动态输入起始时间、终止时间
   C.用户可选择设置简单的触发周期或输入cron表达式来设定复杂触发周期
2.设计界面
3.写FormBean=>Action=>服务类
4.配置Validator.xml和ApplicationResource.properties
5.自己写Validator类处理特殊但又有共性的检验(如比较两个日期先后、判断某个日期是否比当前时间晚等)
6.在Action里补充只能等到处理业务逻辑时才能检验的代码(此处如检验cron表达式要等到设置到scheduler后才能检验是否有问题,而scheduler只应该在Action里得到)。

猜你喜欢

转载自unique5945.iteye.com/blog/140350