В зависимости от типа рамки приложения Spring позволяет использовать Quartz или фреймворк java.util.concurrent
. Spring имеет абстракцию TaskExecutor
(см. Весна documentation), которая упрощает это, но проверьте, что лучше всего подходит для вашего дизайна.
Spring или Quartz (управляется Spring) затем контролирует создание и запуск/остановку потоков или исполнителей или заданий, а также их частоту/период и другие параметры планирования, а также управляет любым пулом заданий, которые могут потребоваться.
Я использую их для всех моих фоновых задач и пакетных заданий в любых приложениях Java EE, которые я пишу без проблем. Поскольку заданиями являются POJO, управляемые Spring, у них есть доступ к полной инфраструктуре инъекций зависимостей и т. Д., Что подразумевает Spring, и, конечно же, вы можете переключаться между фреймворками планировщика с простым изменением на ваш XML-файл конфигурации приложения, поскольку ваши потребности изменяются или масштабируются ,
do u думаю, что java.util.Timer и java.util.TimerTask классы могут использоваться для этой цели? Спасибо – craftsman
Классы планирования Spring, о которых я упомянул в своем ответе, представляют собой хороший интерфейс для объектов параллельной Java-совместимости, таких как Executor, который действительно является тем, что вы должны использовать в современном приложении. – grkvlt