我有一个工作类将使用不同的用户输入执行。我意识到我可以在JobDetail和Trigger上指定JobDataMap。所以,如果我理解的话,我有两个选择:
(1)JobDetail上的JobDataMap - 当用户指定新输入和计划时,使用这些输入创建一个新JobDetail并创建一个新触发器。然后将新创建的jobDetail和触发器添加到调度程序。
(2)触发器上的JobDataMap - 当用户指定新输入和计划时,使用这些输入创建新触发器,并将触发器添加到已添加的jobDetail的调度程序中。
是否有理由偏好另一种选择?
感谢。
答案 0 :(得分:0)
根据我的个人经验,我不得不说我们使用第一种方法(在JobDetail
上指定工作参数)。
这个决定的主要原因是,理解和维护似乎更简单,更清晰。
JobDetail
JobDataMap
。Trigger
可能会被多次触发,我们必须确保所有作业执行的参数不会发生变化并保持不变。JobDetail
并将其添加到计划程序中。 JobDetail
是我们的主要工作定义"包含运行作业所需的所有信息(自定义参数,参数等),我们将离开Trigger
个对象来处理执行时间。只是我的两分钱。