我想执行一项要求我在JobDataMap中保存类型的作业。这将随后与实体的ID一起使用以重新水化实体,以便作业可以使用它。
我知道我可以获得类型和存储的AssemblyQualifiedName,然后在作业中使用GetType(),但在我沿着这条路走下去之前,我想我会看看quartz是否会为我做这件事。
如果我在JobDataMap中放入一个类型,我稍后会在访问该属性时进行序列化和反序列化吗?
答案 0 :(得分:1)
当然可以。您可以使用JobDataMap索引器来存储任意数据。类型实例非常安全,但您需要特别注意版本(仅使用程序集限定名称删除此问题),名称空间和公钥。
如果在持续存在后类型可能会发生变化的可能性很小,我建议使用“元名称”#39;喜欢' BackupJobHelperType'然后,您将解析为实际类型。 Generelly总是喜欢简单的序列化安全类型而不是自己的类型,如果可能的话,将 quartz.jobStore.useProperties 设置为true,这将强制执行字符串键和值。
您可以在构建作业时保存信息,并在作业开始时可用。