向 Quartz CronTrigger 添加一次性额外触发

发布于 2024-08-01 18:48:47 字数 176 浏览 2 评论 0原文

我想知道如何采用 CronTrigger 并添加额外的一次性触发,以便我可以像使用 getFileTimeAfter(Date) 方法一样迭代触发时间

假设我有一个 CronTrigger 表示为:“0 0 12 * *?”

我如何添加一个额外的触发,如 SimpleTrigger 所表达的,不重复?

I was wondering how I might take a CronTrigger and add an extra one-off firing such that I can iterate over the firing times as I might with the getFileTimeAfter(Date) method

Say if I had a CronTrigger expressed by: "0 0 12 * * ?"

How might I add one additional firing as might be expressed by a SimpleTrigger with no repeat?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桃扇骨 2024-08-08 18:48:47

CronTrigger 本身不可能做到这一点。 不过,您可以根据需要将任意多个不同的触发器与给定的 JobDetail 关联起来。

您可以通过注册 CronTriggerSimpleTrigger 来模拟您想要实现的目标,在每个触发器上调用 getFireTimeAfter 并获取较早的值。

令人烦恼的是,getFireTimeAfter 出现在 CronTriggerSimpleTrigger 上,但不在 Trigger 接口中。 请注意,这是 Quartz API 中最小的错误。

This isn't possible with CronTrigger itself. You can, however, associate as many different Triggers with a given JobDetail as you like.

You could simulate what you're trying to achieve by registering your CronTrigger plus a SimpleTrigger, call getFireTimeAfter on each trigger, and take the earlier value.

Annoyingly, getFireTimeAfter is present on both CronTrigger and SimpleTrigger, but isn't in the Trigger interface. That's the least of Quartz's API sins, mind you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文