Расписание темы только один раз. - PullRequest
0 голосов
/ 04 декабря 2018

Как исправить мой поток, чтобы запланировать начальную задержку потока на 2 минуты и не планировать это снова.(т.е. расписание только на один раз)

@Scheduled(fixedDelay = 5000)
public void myJob() {
     Thread.sleep(12000);
}

1 Ответ

0 голосов
/ 05 декабря 2018

В этом случае вы можете использовать ScheduledExecutorService .Это ExecutorService, который может планировать команды для запуска после заданной задержки или для периодического выполнения.

Расписание ScheduledFuture (вызываемый, длительная задержка, единица времени)

Создает и выполняетScheduledFuture, которое становится активным после заданной задержки.

callable - функция для выполнения
delay - время с настоящего времени до задержки выполнения
unit - единица времени задержки

  ScheduledExecutorService service = null;

    service = Executors.newScheduledThreadPool(1);

    service.schedule(() -> {
        myMethodNameWhichIWantToExecute();
    }, 2, TimeUnit.MINUTES);

    if (service != null) service.shutdown();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...