【问题标题】:Quartz scheduler job migrationQuartz 调度程序作业迁移
【发布时间】:2012-04-03 15:35:54
【问题描述】:

考虑以下场景。

服务器 1:在 JDK 1.4 代码中运行的 Quartz 1.x

服务器 2:在 JDK 1.6 代码中运行的 Quartz 2.x

每个服务器的不同作业表集(但在相同的架构中)。实例名称和 实例 ID 对于每个服务器都是唯一的。

现在,我想将作业从服务器 1 迁移到服务器 2。为此,我可以编写将在服务器 1 或服务器 2 上运行的代码。代码必须创建现有服务器的副本服务器 2 个作业表中的 1 个作业。创建后,必须删除服务器 1 中的现有作业。

这个可以吗?

【问题讨论】:

    标签: java quartz-scheduler


    【解决方案1】:

    查看Quartz 1.8.x to Quartz 2.0 Migration Guide,尤其是使用 JDBCJobStore 更改设置

    如果您使用 JDBCJobStore,则需要对数据库进行几处更改以将其转换为新的预期架构。

    提供了迁移脚本,很长。基本上你需要将旧的数据库表模式转换为 Quartz 2.0。

    【讨论】:

    • Tomasz - 我以前读过文件。我想你把我的问题弄错了。我不是想创建新工作或创建新表。我已经创建了一组新表,并且完成了我的代码更改。现在,我正在尝试将作业(已经存在)从一组作业表迁移到另一组作业表(即从一台服务器到另一台服务器)。这个可以吗?
    • @AndrewAnderson:如果我理解正确,您希望服务器 1 的作业在服务器 2 上运行。如果您已迁移服务器 1 上的数据库模式,则复制服务器 1 数据库中的所有记录就足够了到服务器 2。当然调度程序名称必须相同,以便服务器 2 上的调度程序在重新启动后拾取新任务。
    • Tomsaz - 我不能一口气换工作。我必须让服务器 1 运行一段时间。一步一步的迁移。此外,我们有不同的调度程序名称。我担心的是,如果我尝试将作业迁移到服务器 2 并从服务器 1 中删除相同的作业(这两个操作都必须从服务器 1 执行),那么我不需要 2 组quartz.properties,因为这些服务器具有使用 quartz.properties 文件配置的唯一实例名称。这个练习可行吗?
    猜你喜欢
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多