【问题标题】:Quartz JobDataMapQuartz JobDataMap
【发布时间】: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 中只存储原始数据类型(包括字符串)到 避免短期和长期的数据序列化问题。

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

  1. 以上只是一个指南。我可以将非原始对象存储和检索为job data。调度程序将不会失败
  2. 如果我存储非原始数据,我可能会遇到设计问题。一旦我更改序列化对象属性,问题就会发生。更改后,我的代码中的对象版本将与存储在石英数据库中的对象不同。
  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 中提到了一些指导方针)

在我的项目中,作业需要大量复杂的数据映射才能运行,因此将所有这些数据作为原始数据传递将是一件很头疼的事情。

【问题讨论】:

    标签: java serialization version-control quartz-scheduler


    【解决方案1】:

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

    【讨论】:

    • 这应该是commen
    • 对不起,我想那时我还没有发表评论的特权!或者可能还有其他问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多