1

我正在阅读并尝试使用 Quartz Scheduler,它看起来确实是一个非常好且易于使用的平台。我正在阅读 Quartz 为 Jobs、Triggers 和 Scheduler 本身提供的各种侦听器,但无法将它们与任何现实生活用例联系起来。

任何人都可以通过一些用例给我一些理解,因为这些侦听器可以在现实生活中的应用程序开发中使用吗?

4

2 回答 2

1

在我从事的产品中,我们有不同的功能,可以根据客户的特定许可证启用/禁用。

我们使用 TriggerListener 来评估是否应该根据许可证执行作业。如果客户没有获得特定功能的许可,则触发器侦听器会否决作业的执行。

因此,不必在每个作业的执行方法的开头编写类似以下的内容,

if (!license.isLicensed(token)) {
    logger.debug("Not executing job because of license...");
    return;
}

逻辑可以集中在侦听器中,并且可以将注释添加到指定许可证令牌的每个作业的类中。

于 2012-07-04T20:15:58.637 回答
1

一些 Quartz 插件[1]构建在侦听器之上。这意味着使用侦听器可以:

  • 记录作业/触发器的执行时间和结果(不敢相信 Quartz 没有记录这个开箱即用)来监控作业执行

  • 根据以上信息,您可以构建完整的监控解决方案,并能够浏览已执行的任务

  • 您可以创建一个侦听器,在一段时间后重新安排失败的作业

  • 在某些情况下忽略作业执行

[1] Quartz调度器插件-隐藏的宝藏

于 2012-07-05T19:34:49.430 回答