7

我是 Quartz 调度程序的新手。我几乎没有什么疑问,希望有人在这里帮忙。非常感谢!

首先跟大家分享一下我在单个Scheduler中组织jobs和triggers的方法:

  1. 一个触发器组,多个具有唯一名称的触发器

  2. 许多工作组,一个组内有许多具有唯一名称的工作

  3. 一个作业组可以与一个触发器关联,以便该组下的所有作业将同时触发

我认为这种组织在调度软件中是很正常的。但是,我只找到了使用多个触发器注册同一个作业的引用。尽管如此,我仍然认为使用相同的触发器注册许多工作在逻辑上是可以实现的。

以下是我自己实现目标的逻辑:

  1. 创建Job A,创建Trigger A,调用函数scheduleJob(JobA, TriggerA)先将Job A注册到Scheduler

  2. Job B 被创建,根据唯一名称从 Scheduler 中获取 Trigger A,稍后调用函数 scheduleJob(JobB, TriggerA) 将 Job B 注册到 Scheduler

因此,参考我自己的逻辑,我有两个疑问:

  1. 是否可以根据名称从调度程序获取触发器 A?

  2. 一次又一次地使用 scheduleJob() 函数注册多个具有相同触发器的作业是正确的方法吗?

4

1 回答 1

16

不,一个工作可以有许多与之相关的触发器,但一个触发器只能与一个工作相关。尽管如果您使用作业/触发器侦听器并安排触发器在一个触发器触发时立即触发其他作业,您可以获得一些您想要的效果。

您可以设置多个相同的触发器,每个作业一个。

于 2013-02-27T10:50:16.360 回答