Quartz JobDataMap

时间:2016-02-10 14:09:54

标签: java serialization version-control quartz-scheduler

石英网站提到JobDataMaphttp://quartz-scheduler.org/generated/2.2.1/html/qs-all/#page/Quartz_Scheduler_Documentation_Set%2Fco-bp_jobdatamap_tips.html%23)提示:

  

仅将JobDataMap中的原始数据类型(包括字符串)存储到   避免短期和长期的数据序列化问题。

如果我的假设是正确的,请告诉我:

  1. 以上只是指南。我可以将非原始对象存储和检索为job data。调度程序不会失败
  2. 如果我存储非原始数据,我可能会遇到设计问题。一旦我更改序列化对象属性,问题就会发生。更改我的代码中的对象版本后将与存储在quartz db。中的对象的版本不同。
  3. 如果我找到了序列化和脱盐对象的正确版本控制机制,那么我可以使用Quartz Scheduler将对象存储为JobDataMaphttp://www.javaworld.com/article/2071731/core-java/ensure-proper-version-control-for-serialized-objects.html?page=1http://www.ibm.com/developerworks/java/library/j-5things1/index.html中提到了一些指导)
  4. 在我的项目中,作业需要运行LOTS OF COMPLEX数据图,因此将所有这些数据作为原始数据传递将是一件非常令人头疼的问题。

1 个答案:

答案 0 :(得分:1)

根据我的经验,使用原始类型并不重要,这只是一个建议。但这样做太有用和安全了,我建议如果可以,只使用原始类型,例如,您可以将所需数据存储在数据库的表中,并将该记录的id放入{{ 1}}。