Проблема:
У меня есть задача, которую нужно запускать периодически с фиксированной задержкой после запуска каждой задачи. Также у меня есть условие
где в первоначальной задержке или в первый раз выполнение должно произойти после выполнения условия. Таким образом, исполнитель должен
предотвратить планирование задачи, пока условие не будет выполнено.
Пакет Java Concurrent предоставляет нам ScheduledThreadPoolExecutor, у которого есть опция для начальной задержки во времени. Но в моем случае
начальная задержка наступает после изменения какого-либо условия или значения на желаемое
Как мне добиться этого поведения и какую службу executor следует использовать или какие методы в службе исполнителя можно переопределить для достижения вышеуказанного поведения.
Я не хочу начинать создание объекта ScheduledThreadPoolExecutor только после того, как условие выполнено, причина в том, что
Есть большое количество таких периодических запланированных задач, которые присутствуют в нашем приложении, и если в следующий раз будет добавлена новая задача
и если они забудут добавить в часть кода, где выполняется проверка, то это будет запланировано немедленно, без проверки условий.
Чтобы избежать этого, я хотел, чтобы служба executor позаботилась обо мне, и в следующий раз любой, кто использует эту службу executor, по умолчанию получит это
поведение бесплатно.
Любая помощь приветствуется.
Спасибо