【问题标题】:How to fire quartz job manually with its corresponding trigger如何使用相应的触发器手动触发石英作业
【发布时间】:2014-01-26 15:54:33
【问题描述】:

我们正在使用石英调度程序创建一个计划,方法是创建一个触发器,该触发器具有触发器名称和触发器组,该触发器将以 15 分钟的间隔触发。

我们希望在任何时间点手动触发计划。因此,我们所做的是获取与我们创建的计划相关联的作业的触发键详细信息,并尝试使用以下 API 触发作业。

scheduler.triggerJob(scheduler.getTrigger(TriggerKey.triggerKey(triggerName, triggerGroupName)).getJobKey());

但当我使用此 API 并尝试触发作业时,我在石英日志中看到作业正在使用另一个触发器而不是创建并与作业关联的触发器执行

请在下面找到日志:

使用上述 API 触发作业时的 Quartz 日志(即尝试手动触发作业):

2014:01:07 19:57:34 IST,INFO ,Trigger DEFAULT.MT_2jf0j4717arfk fired job discover.4b7d574a-2827-4ec3-988e-07ef8009e962 at:  19:57:34 01/07/2014
2014:01:07 19:57:34 IST,INFO ,Job [discover.4b7d574a-2827-4ec3-988e-07ef8009e962] to be fired by trigger [DEFAULT.MT_2jf0j4717arfk], re-fire: 0
2014:01:07 19:57:34 IST,INFO ,WxSchedulerJob says: discover.4b7d574a-2827-4ec3-988e-07ef8009e962 executing at Tue Jan 07 19:57:34 IST 2014
2014:01:07 19:57:34 IST,INFO ,Job [discover.4b7d574a-2827-4ec3-988e-07ef8009e962] execution complete and reports: null
2014:01:07 19:57:34 IST,INFO ,Trigger DEFAULT.MT_2jf0j4717arfk completed firing job discover.4b7d574a-2827-4ec3-988e-07ef8009e962 at  19:57:34 01/07/2014

达到下一个触发时间时触发 Job 时的 Quartz Log:

2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a misfired job discover.19efb015-872d-4017-bbc8-52ae73b70d04  at:  19:27:41 01/07/2014.  Should have fired at:  16:00:00 01/03/2014
2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a fired job discover.19efb015-872d-4017-bbc8-52ae73b70d04 at:  19:27:41 01/07/2014
2014:01:07 19:27:41 IST,INFO ,Job [discover.19efb015-872d-4017-bbc8-52ae73b70d04] to be fired by trigger [discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a], re-fire: 0
2014:01:07 19:27:41 IST,INFO ,WxSchedulerJob says: discover.19efb015-872d-4017-bbc8-52ae73b70d04 executing at Tue Jan 07 19:27:41 IST 2014
2014:01:07 19:27:41 IST,INFO ,Job [discover.19efb015-872d-4017-bbc8-52ae73b70d04] execution complete and reports: null
2014:01:07 19:27:41 IST,INFO ,Trigger discover.92ef68a5-b276-473a-9fe7-21b4c4a2461a completed firing job discover.19efb015-872d-4017-bbc8-52ae73b70d04 at  19:27:41 01/07/2014

任何人都可以告诉我如何使计划成为具有原始关联触发器的作业的触发器。

【问题讨论】:

    标签: quartz-scheduler


    【解决方案1】:

    我也在为同样的问题而苦苦挣扎。当您尝试手动触发此作业时,Quartz 会创建一个默认触发器 (Trigger DEFAULT.MT_2jf0j4717arfk)。不幸的是,似乎没有办法手动触发预定触发器。

    【讨论】:

    • 我们已经通过使用简单触发器而不是使用 CRON 触发器解决了这个问题,因为简单触发器只触发一次。通过将相同的触发器详细信息关联到简单触发器,我们的要求是仅触发现有计划一次,例如立即运行。
    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 2013-01-29
    • 1970-01-01
    相关资源
    最近更新 更多