Или, если это не удалось, удалите задачу из планировщика и добавьте новую.
Боюсь, это часть Spring, я более или менее меньше 100% невежества, и проведенный день за чтением статей об этом мало что прояснил.
По сути, у меня есть программа с тремя запланированными задачами: одна выполняется каждые 500 мс, а две — на основе выражений cron. Мои клиенты хотят иметь возможность изменять эти выражения cron на лету.
Насколько я понимаю, это означает, что мне нужно вытащить выражения cron из контекста приложения и переместить их в базу данных. Эта часть проста. Самое сложное — выяснить, как получить ссылку на уже существующую запланированную задачу в Spring и изменить время ее следующего запуска. Каждая статья, которую я нашел на эту тему, просто описывает, как настроить контекст приложения или аннотации.
Единственный ответ, который я смог найти, будет работать только для обычных интервалами (и, судя по комментариям, может вообще не работать). Я надеюсь, что мне не придется писать что-то, что интерпретирует выражения Cron, поэтому я рассматриваю это решение как «план Б».
Спасибо за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/246 ... at-runtime