spring之在 Spring 中使用相同的作业详细信息动态重新安排 CronTriggerBean
myhome
阅读:20
2024-11-24 20:56:43
评论:0
我的任务是根据用户从 GUI 指定的计划时间动态生成报告。
我在 Spring 应用程序的应用程序上下文中使用以下代码每天早上 6 点生成报告。
<bean name="scheduleRptJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.secant.qatool.report.scheduler.ScheduleCroneJob"/>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="scheduleRptJob" />
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
我正在使用以下代码从 Controller 动态更改 cron 表达式。但它不起作用。
String time[] = rptScheduleTime.split(":");
String hours = time[0];
String minutes = time[1];
String croneExp = " 00 " + minutes + " " + hours + " * * ? ";
log.debug("CRONE EXP :: " + croneExp);
cronTrigger.clearAllTriggerListeners();
// Setting the crown expression.
cronTrigger.setCronExpression(croneExp);
Trigger[] triggers = {cronTrigger};
// Code to pause and start the cron trigger.
schedulerFactory.stop();
schedulerFactory.setTriggers(triggers);
schedulerFactory.start();
有人可以帮我如何用动态时间重新安排同一个工作。
谢谢,
-阿尼尔·库马尔.C
请您参考如下方法:
spring 论坛中有一个关于此的主题,他们似乎找到了解决您问题的方法:http://forum.springsource.org/showthread.php?t=31736
但不是手动更改文件中的 cron 表达式,您可以使用 spring 表达式语言每次从保存值的对象中读取它。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。