Вместо использования базы данных вы можете использовать JMX. - Но по моему скромному мнению: если вы уже используете базу данных, но еще не используете JMX, то используйте флаг БД или простой файл, чтобы подать таймер на «остановку».
Лучше, чем использовать флаг и проверять для каждого вызова, установлен ли флаг, стреляет shutdown()
вниз ThreadPoolTaskSchedule
или ThreadPoolTaskExecutor
.
Но для этого потребуется вторая задача (выполняется каждую минуту или короче), чтобы проверить флаг, а затем завершить работу с планировщиком.
Чтобы заставить задачу муравья ждать промежуток времени после установки флага, чтобы убедиться, что последняя задача выполнена, вы можете использовать задачу WaitFor .