Я использую стеклянную рыбу с спящим режимом, пружиной и jpa для данных, поступающих в нашу систему и отображающих данные клиенту.
Однако мне также необходимо запускать несколько заданий каждую минуту для расчета данных на основе входящих данных.
Но я никогда не знаю количество заданий, и они могут измениться в любое время, так как они поступают из базы данных. У нас есть x клиентов, и у каждого клиента может быть от 1 до многих рабочих мест.
Итак, что мне действительно нужно сделать, это:
- прочитайте из таблицы, чтобы получить количество заданий для запуска
- запускать каждое из этих заданий каждую минуту
- если задание удалено из таблицы, прекратить обработку этого задания
- если задание добавлено в таблицу, добавить новое задание в список.
- каждое из этих заданий будет читать из таблицы, выполнять некоторые вычисления, а затем записывать результаты в таблицу.
Я читал о некоторых инструментах (quartz, ScheduledExecutorService и т. д.), но действительно ли они предоставляют эту функциональность? Или я должен написать свой собственный?