Для этого вам нужно внедрить пользовательский Trigger
для инъекции в упомянутый опросник.
Примерно так:
public class OnlyOnceTrigger implements Trigger {
private final AtomicBoolean hasRun = new AtomicBoolean();
@Override
public Date nextExecutionTime(TriggerContext triggerContext) {
if (this.hasRun.getAndSet(true)) {
return null;
}
return new Date();
}
}
когда nextExecutionTime()
возвращает null
, планировщик останавливается для запуска задачи, поэтому больше не требуется опрос после одного запуска.