In quartz> 2.0, you can force the scheduler to cancel the schedule of any work after completion of work:
@Override protected void execute(JobExecutionContext context) throws JobExecutionException { ...
where triggerKey is the job id to run only once. After this, the task will no longer be called.
source share