Я только что понял, что сначала я ответил на неправильный вопрос, оставлю его ниже для потомков. Опять предположение я смотрю на правильный 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 (интермедиат
интервал, IScheduledJob, int
задержка) Запланируйте работу на периодическую
выполнение, которое начнется после
указанная задержка.
Ключ "периодическое выполнение". Похоже, что вы ищете это:
addScheduledOnceJob (longtimeDelta,
IScheduledJob job) Запланируйте работу для
одиночное исполнение в будущем.
Итак, ваш звонок будет:
service.addScheduledOnceJob(5000, new UfkJob());
Который будет выполнять UfkJob один раз через 5 секунд после вызова метода.