【发布时间】:2010-10-31 23:02:57
【问题描述】:
我正在使用Quartz 来构建一个集群线程池,并且我有许多在不同时间运行的任务。在集群线程池上运行 1 个任务的最佳方法是什么,并且只运行一次。我知道我可以将任务设置为高优先级。但是注册“一次性”任务的最佳方式是什么?
【问题讨论】:
标签: java quartz-scheduler
我正在使用Quartz 来构建一个集群线程池,并且我有许多在不同时间运行的任务。在集群线程池上运行 1 个任务的最佳方法是什么,并且只运行一次。我知道我可以将任务设置为高优先级。但是注册“一次性”任务的最佳方式是什么?
【问题讨论】:
标签: java quartz-scheduler
您还可以使用TriggerBuilder 类让生活更轻松。和之前发的差不多,只是干净了一点。
Trigger trigger = TriggerBuilder.newTrigger()
.startNow()
.build();
【讨论】:
我觉得我一定遗漏了一些东西,或者您可能只是在文档中忽略了这一点:
public SimpleTrigger(String name, String group, Date startTime, Date endTime, int repeatCount, long repeatInterval)
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
new Date(),
null,
0,
0L);
【讨论】:
为预先注册的工作触发一次性的最简单方法:
Scheduler sched = ...
scheduler.triggerJob(jobKey);
【讨论】: