这是我在网上看到的代码 private void reScheduleJob() throws SchedulerException, ParseException {
// 运行时可通过动态注入的scheduler得到trigger
CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
"cronTrigger", Scheduler.DEFAULT_GROUP);
String dbCronExpression = getCronExpressionFromDB();
String originConExpression = trigger.getCronExpression();
// 判断从DB中取得的任务时间(dbCronExpression)和现在的quartz线程中的任务时间(originConExpression)是否相等
// 如果相等,则表示用户并没有重新设定数据库中的任务时间,这种情况不需要重新rescheduleJob
if(!originConExpression.equalsIgnoreCase(dbCronExpression)){
trigger.setCronExpression(dbCronExpression);
scheduler.rescheduleJob("cronTrigger", Scheduler.DEFAULT_GROUP, trigger);
}
// 下面是具体的job内容,可自行设置
// executeJobDetail();
}为什么我的spring的SchedulerFactoryBean没有 CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger("cronTrigger", Scheduler.DEFAULT_GROUP);这个方法和 scheduler.rescheduleJob("cronTrigger", Scheduler.DEFAULT_GROUP, trigger);这个方法是版本不一样吗?我下载了2.0.6版本中也无此方法啊,能够给我个答案吗?
// 运行时可通过动态注入的scheduler得到trigger
CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
"cronTrigger", Scheduler.DEFAULT_GROUP);
String dbCronExpression = getCronExpressionFromDB();
String originConExpression = trigger.getCronExpression();
// 判断从DB中取得的任务时间(dbCronExpression)和现在的quartz线程中的任务时间(originConExpression)是否相等
// 如果相等,则表示用户并没有重新设定数据库中的任务时间,这种情况不需要重新rescheduleJob
if(!originConExpression.equalsIgnoreCase(dbCronExpression)){
trigger.setCronExpression(dbCronExpression);
scheduler.rescheduleJob("cronTrigger", Scheduler.DEFAULT_GROUP, trigger);
}
// 下面是具体的job内容,可自行设置
// executeJobDetail();
}为什么我的spring的SchedulerFactoryBean没有 CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger("cronTrigger", Scheduler.DEFAULT_GROUP);这个方法和 scheduler.rescheduleJob("cronTrigger", Scheduler.DEFAULT_GROUP, trigger);这个方法是版本不一样吗?我下载了2.0.6版本中也无此方法啊,能够给我个答案吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货