Immediate one time task with Quartz
I am using a Quartz to build a clustered ThreadPool and I have number of tasks that run at various times. What is the best way to run 1 task immanently and only once on the clustered ThreadPool. I know I can set 开发者_如何学JAVAthe task to a high priority. But what is the best way to register a "one shot" task?
You can also use the TriggerBuilder class to make life a little bit easier. It's similar to what was posted before, just a little cleaner.
Trigger trigger = TriggerBuilder.newTrigger()
.startNow()
.build();
I feel like I must be missing something, or maybe you just overlooked this bit in the docs:
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);
The easiest way to trigger an one-shot for a pre-registered job:
Scheduler sched = ...
scheduler.triggerJob(jobKey);
精彩评论