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

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

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

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

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

[b]界面预览[/b]
[img]http://unique5945.iteye.com/upload/picture/pic/6165/b3874e6a-43ba-4a35-966a-20b779c08a91.png[/img]
图1 进入设置页面显示效果
[img]http://unique5945.iteye.com/upload/picture/pic/6166/edbca19b-ce4b-4d58-a784-9fd7c3666e17.png[/img]
[img]http://unique5945.iteye.com/upload/picture/pic/6167/c137ea33-8472-4d17-821d-235671ab3779.png[/img]
[img]http://unique5945.iteye.com/upload/picture/pic/6168/6d0a8570-8509-4679-a11a-0e4e538ae3ae.png[/img]
图2、3、4 选择不同设定方式的显示效果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值