Quartz调度程序中侦听器的真实用例

时间:2012-06-29 17:08:15

标签: java quartz-scheduler

我正在阅读并尝试使用Quartz Scheduler,它似乎是一个非常好且易于使用的平台。 我正在阅读Quartz for Jobs,Triggers以及Scheduler本身提供的各种听众,但无法将它们与任何现实生活中的用例联系起来。

任何人都可以通过一些用例来理解这些监听器可以用于现实应用程序开发吗?

2 个答案:

答案 0 :(得分:1)

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

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

因此,不必在每个作业的execute方法的开头写下类似的东西,

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

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

答案 1 :(得分:1)

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

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

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

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

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

[1] Quartz scheduler plugins - hidden treasure