Я просто понял, что я думаю, что я ответил на тот вопрос изначально, я оставлю его ниже ради потомства. Снова предположение, что я смотрю на правильный API. Добавить поле в UFkJob:
public class UfkJob implements IScheduledJob {
String jobName = null;
public void execute(ISchedulingService service) {
if (... && jobName != null) {
/* here i want to remove the current running job */
ISchedulingService service = (ISchedulingService) getScope().getContext().getBean(ISchedulingService.BEAN_NAME);
service.removeScheduledJob(jobName);
}
public void setJobName(String name){
this.jobName = name;
}
}
, а затем, когда вы планируете работу:
ISchedulingService service = (ISchedulingService) getScope().getContext().getBean(ISchedulingService.BEAN_NAME);
UfkJob job = new UfkJob();
job.setJobName(service.addScheduledJobAfterDelay(5000, job, 200));
или вы могли всегда иметь сам Режим работы:
public class UfkJob implements IScheduledJob {
String jobName;
ISchedulingService service;
public UfkJob(ISchedulingService service){
this.service = service;
this.jobName = service.addScheduledJobAfterDelay(5000, this, 200);
}
public void execute(ISchedulingService service) {
if (...) {
service.removeScheduledJob(jobName);
}
}
}
//Your calling code
...
new UfkJob((ISchedulingService) getScope().getContext().getBean(ISchedulingService.BEAN_NAME));
----- Мой оригинальный ответ ниже, я верю в неправильный вопрос ----
Я не уверен, что я смотрю документы API для право библиотека, однако ваш вызов методы:
service.addScheduledJobAfterDelay(5000,new UfkJob(),200);
определяются как:
addScheduledJobAfterDelay (INT интервала, IScheduledJob работы, внутр задержки) График работы для периодического исполнения, который начнется после того, как Указанная задержка.
Ключ «периодическое исполнение». Похоже, что вы ищете:
addScheduledOnceJob (длинный timeDelta, IScheduledJob работы) График работы для одного исполнения в будущем.
Таким образом, ваш звонок будет:
service.addScheduledOnceJob(5000, new UfkJob());
Что бы выполнить команду UfkJob один раз в 5 секунд после вызова метода.