用quartz实现任务的动态配置(一)
程序员文章站
2022-05-26 15:42:14
...
此文是研究生时做项目时搞的一个小模块,随便拿来练练手的。其实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里得到)。
关键字定义
任务:需要由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里得到)。
上一篇: 360驱动大师v2.0官方版 360
下一篇: Apache启动错误
推荐阅读
-
SpringBoot中并发定时任务的实现、动态定时任务的实现(看这一篇就够了)
-
Spring Boot+Quartz实现一个实时管理的定时任务
-
一种动态更新flink任务配置的方法
-
用quartz实现任务的动态配置(一)
-
java定时任务_Spring Boot 整合 Quartz 实现 Java 定时任务的动态配置
-
织梦首页banner图动态配置实现的一种方式
-
Spring Boot+Quartz实现一个实时管理的定时任务
-
SpringBoot整合quartz动态创建定时任务实现以及踩过的坑
-
如何使用canvas画一个圆?用canvas画圆的三种动态实现方法
-
如何使用canvas画一个圆?用canvas画圆的三种动态实现方法