Quartz vs. ScheduledExecutorService в веб-приложении Java
Для системы мониторинга Java-приложения, которое в настоящее время выполняется в командной строке и использует ScheduledExecutorService, я хотел бы написать простое веб-приложение версию (которая может выполняться в контейнере сервлетов, таком как Apache Tomcat или Jetty).
Я читал о Quartz как один из популярных планировщиков заданий для веб-приложений. Было бы лучше (возможно, из-за лучшей интеграции контейнеров сервлетов) для переноса этого приложения из ScheduledExecutorService в Quartz?
Добавление другой зависимости библиотеки к приложению не является проблемой, меня интересуют технические причины, связанные с использованием ScheduledExecutorService.
Ответы
Ответ 1
Это зависит от того, для чего вы его используете.
Кварц полезен для запрограммированных времен, например. каждый час час.
ScheduledExecutorService полезен для повторения задач, которые не должны возникать в определенное время. Это проще и, возможно, более эффективно. Если у вас есть эта работа, это указывает мне, что вам не нужен кварц.
Ответ 2
ScheduledExecutorService работает на более низком уровне, и вам придется самостоятельно выполнять все функции мониторинга/обслуживания планирования.
Кварц имеет тонны объектов, такие как сохранение работы, транзакции, кластеризация и т.д.