Я знаю, scheduleProcess
выполняется один раз при запуске. Затем он планирует выполнение задачи с помощью cron каждые 3 минуты. После первого запуска cron все нормально. Но каждый следующий раз встречается два числа вызовов otherMethod
. Я сделал код проще.
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
public void scheduleProcess() {
Runnable otherMethod = () -> orderSending();
Runnable task = () -> runAs("status", otherMethod);
scheduledTasks.add(taskScheduler.schedule(task, new CronTrigger("* */3 * * * *")));
}
public void runAs(String processName, Runnable runnable) {
System.out.println(processName);
try {
runnable.run();
} finally {
System.out.println("test2");
}
}
public void orderSending() { // this executes times two every cron tick
System.out.println("...");
}
Java 8, SpringBoot 2.0.3, запуск внутри tomcat 8 как war.