如何将Quartz Scheduler作业从一个数据库复制到另一个数据库

问题描述 投票:-1回答:1

我在SQL Server的石英表中已有一个Quartz作业。我想将它们复制到另一个数据库。有什么方法可以将现有的Quartz作业复制到另一个数据库中?

c# quartz.net
1个回答
0
投票

您要么必须使用数据迁移来手动执行此操作,要么[您可以使用API​​对所需的所有数据进行序列化/反序列化。已经有一个实用程序:

org.terracotta.quartz.collections.ToolkitDSHolder

使用它来获取所需的所有调度程序数据,然后使用以下命令对其进行序列化和反序列化:

org.terracotta.quartz.collections.SerializationHelper

然后有一些自定义逻辑可以根据需要转换数据。可以制作一个快速的GUI,在序列化之前显示所有数据,让您在内存中对其进行编辑以获取所需的数据集,然后对其进行序列化,反序列化之后,您无需进行任何其他数据转换,只需调用所需的方法即可创建您想要的任何东西。

GitHub中有一些序列化测试,所以我猜想这对某些您至少需要的部分有效,如果不是全部的话。

您可能想尝试的另一件事是使用

XMLSchedulingDataProcessor

,它需要一个IOStream并且文档很模糊,所以我想知道您是否使用输出流是否会为您编写一个xml文件?然后加载输入流。看来您还可以做其他事情,例如使用远程连接将调度程序加载到一个系统上,然后对它们进行远程处理。
© www.soinside.com 2019 - 2024. All rights reserved.