Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > Spring Quartz如何动态配置时间(3)
【标  题】:Spring Quartz如何动态配置时间(3)
【关键字】:Spring,Quartz
【来  源】:http://www.blogjava.net/allen-zhe/archive/2007/01/10/92959.html

Spring Quartz如何动态配置时间(3)

Your Ad Here

书接上回,上回说到,我们已经将页面的时间设置转为了Cron Expression,下面我记录了时间规则。

3) 记录时间规则

??????我将时间规则存入数据库中,目的是为了生成历史日志,也可以存入XML文件中。当然您也可以省略此步,直接将转换后的规则放入相应的Quartz trigger中。

4) 更新任务触发器的时间设置

到了关键的一步了,也是最简单的一步,一个方法就可以实现了。
首先,我们需要通过trigger的名称得到一个CronTriggerBean;
其次,通过trigger的setCronExpression(String cronExp)方法将新的表达式注入;
最后,RESCHEDULE THE JOB,OK!

?1 ??? /**
?2 ?????*?自定义定时器调度时间
?3 ?????*? @param
?triggerName?触发器名称
?4 ??????*? @throws
?Exception?
?5 ????? */

?6 ???? public ? void ?updateNotificationInterval(String?triggerName,?String?triggerId)
?7 ???????????? throws ?SchedulerException,?ParseException?
{
?8 ???????? // 得到trigger

?9 ????????CronTriggerBean?trigger? = ?(CronTriggerBean)?scheduler.getTrigger(
10
????????????????triggerName,?Scheduler.DEFAULT_GROUP);
11 ???????? // 得到cron?expression????????

12 ????????String?cronExpression? = ?schedulerDAO.getCronExpression(triggerId);
13 ???????? // 设置trigger的时间规则

14 ????????trigger.setCronExpression(cronExpression);
15 ???????? // 重置job

16 ????????scheduler.rescheduleJob(triggerName,?Scheduler.DEFAULT_GROUP,?trigger);
17 ????}

18

至此,目的达到了,快乐的看着您的任务在您自定义的时间下快乐的执行,您是否也想像'Happy Feet'中那只快乐的企鹅一样,Show段踢踏呢 ; - D




PS:忘了说我的Quartz任务是怎么配置的了,罪过,罪过。

< bean? id ="compareJob"
????????class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
????????
< property? name ="targetObject" ?ref ="compareService" ? />
????????
< property? name ="targetMethod" ?value ="compare" ? />
????????
< property? name ="concurrent" ?value ="false" ? />
????
</ bean > ?

????
< bean? id ="compareTrigger"

????????class
="org.springframework.scheduling.quartz.CronTriggerBean" >
????????
< property? name ="jobDetail" ?ref ="compareJob" ? />
????????
< property? name ="cronExpression" > ????????????
????????????
< value > 0?39?16?20?*?? </ value >
????????
</ property >
????
</ bean >

< bean? id ="schedulerFactory"
????????class
="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
????????
< property? name ="triggers" >
????????????
< list > ????????????????????
?????????????????????< ref? local ="compareTrigger" ? />

????????????
</ list >
????????
</ property >
????
</ bean >



????????????????????????????????????????????????????????????????????????????????????THE END

MySql之5.0使用心得:【上一篇】
Spring Quartz如何动态配置时间(2):【下一篇】
【相关文章】
  • 集成struts+spring的新思路
  • SpringSide开发实战(五):兵马未动,粮草先行
  • SpringMVC框架中的Controller
  • Spring系列第1部分:Spring 框架简介(图)
  • 成功整合spring+hibernate+jbpm
  • webwork2.2.4+ibatis2.2+lucene+spring+velocity 编写的bt服务器(提供源代码)
  • xjl:Spring 事务管理原理探究
  • 用 Quartz 进行作业调度
  • Eclipse RCP与Spring的整合
  • 经验主义害死人啊(spring与osgi结合当中遇到的问题)
  • 【随机文章】
  • 【分享】【09-01】注册精品软件下载
  • 关于setuid的分析(4)
  • Linux操作系统下串口编程入门教程
  • Struts1.1完整实战开发例子
  • UPDATETEXT
  • 创建一个Registry Server
  • 将DataGrid数据写入Excel文件。
  • sqlserver 2005 如何创建分区表
  • 算术编码
  • 《鬼武者3》“一闪”高手的诀窍
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.