一尘不染

更新现有的JobDataMap

java

我有一个已经安排好的石英作业。我想更新与之关联的JobDataMap。如果我通过获得JobDataMap JobDataMap jobDataMap = scheduler.getJobDetail(....).getJobDataMap(),该地图是否“实时”?即。如果我更改它,它将保留在调度程序中吗?如果没有,我该如何坚持呢?


阅读 352

收藏
2020-12-03

共1个答案

一尘不染

参见http://www.quartz-
scheduler.org/docs/tutorial/TutorialLesson03.html:

Job实例可以定义为“有状态”或“无状态”。非状态作业仅在将其添加到调度程序时才存储其JobDataMap。这意味着在作业执行期间对作业数据映射的内容所做的任何更改都将丢失,并且在下次执行时作业将看不到。

…有状态作业正好相反-每次执行作业后都会重新存储其JobDataMap。

通过使Job实现StatefulJob接口而不是Job接口,可以将其“标记”为有状态。

2020-12-03