【问题标题】:Quartz job is not updating databaseQuartz 作业没有更新数据库
【发布时间】:2012-08-17 04:25:36
【问题描述】:

我已经务实地触发了 Quartz 工作。但它不打算更新数据库。 我的意思是,“PREV_FIRE_TIME”列没有得到更新。我已经运行了以下代码。

stdScheduler.triggerJob(jobName,jobGroupName);

虽然,在正常的计划执行期间,数据库正在更新,但如果我进行 Ad hoc 运行,它不会更新数据库。 有没有人可以推荐一下。

提前致谢。

【问题讨论】:

  • 你的工作是否被解雇了?或者你的意思是工作被解雇但没有更新数据库
  • 是的,工作正在被正确解雇,但数据库没有得到更新。

标签: java scheduling quartz-scheduler crontrigger


【解决方案1】:

我怀疑您的作业类未在事务下运行。 当石英接手工作并运行执行方法时,它位于不同的线程中。您需要将其包装在事务下。在春天,我会围绕执行方法设置事务建议。 或者,您可以在应该为您完成工作的石英中将以下属性设置为 true:

org.quartz.scheduler.wrapJobExecutionInUserTransaction=true

【讨论】:

  • @tomasznurkiewicz 如何在 Spring 4 中使用基于注释的配置实现相同的功能。请see我的问题
猜你喜欢
  • 2013-04-16
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多