欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-26 15:42:14
...
此文是研究生时做项目时搞的一个小模块,随便拿来练练手的。其实quartz的表达式是最强大的,没必要搞什么界面。当时咋实现的已经想不起来了,见谅。。。让此文沉了吧。

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

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

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

界面预览
用quartz实现任务的动态配置(一)
            
    
    博客分类: JAVA quartzSpringHibernate框架Struts 
图1 进入设置页面显示效果
用quartz实现任务的动态配置(一)
            
    
    博客分类: JAVA quartzSpringHibernate框架Struts 
用quartz实现任务的动态配置(一)
            
    
    博客分类: JAVA quartzSpringHibernate框架Struts 
用quartz实现任务的动态配置(一)
            
    
    博客分类: JAVA quartzSpringHibernate框架Struts 
图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里得到)。