我正在阅读并尝试使用 Quartz Scheduler,它看起来确实是一个非常好且易于使用的平台。我正在阅读 Quartz 为 Jobs、Triggers 和 Scheduler 本身提供的各种侦听器,但无法将它们与任何现实生活用例联系起来。
任何人都可以通过一些用例给我一些理解,因为这些侦听器可以在现实生活中的应用程序开发中使用吗?
我正在阅读并尝试使用 Quartz Scheduler,它看起来确实是一个非常好且易于使用的平台。我正在阅读 Quartz 为 Jobs、Triggers 和 Scheduler 本身提供的各种侦听器,但无法将它们与任何现实生活用例联系起来。
任何人都可以通过一些用例给我一些理解,因为这些侦听器可以在现实生活中的应用程序开发中使用吗?
在我从事的产品中,我们有不同的功能,可以根据客户的特定许可证启用/禁用。
我们使用 TriggerListener 来评估是否应该根据许可证执行作业。如果客户没有获得特定功能的许可,则触发器侦听器会否决作业的执行。
因此,不必在每个作业的执行方法的开头编写类似以下的内容,
if (!license.isLicensed(token)) {
logger.debug("Not executing job because of license...");
return;
}
逻辑可以集中在侦听器中,并且可以将注释添加到指定许可证令牌的每个作业的类中。
一些 Quartz 插件[1]构建在侦听器之上。这意味着使用侦听器可以:
记录作业/触发器的执行时间和结果(不敢相信 Quartz 没有记录这个开箱即用)来监控作业执行
根据以上信息,您可以构建完整的监控解决方案,并能够浏览已执行的任务
您可以创建一个侦听器,在一段时间后重新安排失败的作业
在某些情况下忽略作业执行