Перенесите запланированное задание в планировщик весны

У меня есть класс Runnable, который планируется запускать с фиксированной скоростью (я использую планировщик Spring):

taskScheduler.scheduleAtFixedRate(this, startTime.toDate(),
            PERIOD * 1000);

Могу ли я перенести задачу или динамически изменить период после его планирования?

1 ответ

Вы, вероятно, можете использовать следующее DynamicPeriodicTrigger https://github.com/spring-projects/spring-integration-samples/blob/master/intermediate/dynamic-poller/src/main/java/org/springframework/integration/samples/poller/DynamicPeriodicTrigger.java

Поэтому вам нужно создать экземпляр DynamicPeriodicTrigger (с fixedRate = true) и поместить ссылку в taskScheduler.schedule(Runnable task, Trigger trigger); метод.

Вы можете динамически изменять атрибуты объекта, чтобы изменить сроки выполнения на лету.

Другие вопросы по тегам