【发布时间】:2016-05-20 22:29:02
【问题描述】:
石英网站有一个关于JobDataMap(http://quartz-scheduler.org/generated/2.2.1/html/qs-all/#page/Quartz_Scheduler_Documentation_Set%2Fco-bp_jobdatamap_tips.html%23) 的提示:
JobDataMap 中只存储原始数据类型(包括字符串)到 避免短期和长期的数据序列化问题。
如果我的假设正确,请告诉我:
- 以上只是一个指南。我可以将非原始对象存储和检索为
job data。调度程序将不会失败。 - 如果我存储非原始数据,我可能会遇到设计问题。一旦我更改序列化对象属性,问题就会发生。更改后,我的代码中的对象版本将与存储在石英数据库中的对象不同。
- 如果我找到合适的版本控制机制来序列化和淡化对象,那么我可以使用 Quartz Scheduler 将对象存储为
JobDataMap(http://www.javaworld.com/article/2071731/core-java/ensure-proper-version-control-for-serialized-objects.html?page=1 或http://www.ibm.com/developerworks/java/library/j-5things1/index.html 中提到了一些指导方针)
在我的项目中,作业需要大量复杂的数据映射才能运行,因此将所有这些数据作为原始数据传递将是一件很头疼的事情。
【问题讨论】:
标签: java serialization version-control quartz-scheduler