Я использую аннотацию @Scheduled для запуска задания cron. Планирование работает некоторое время, а затем перестает работать. дам упрощенных фрагменты моего кода:Весна 4 @ Планируемые остановки работы
Это планировщик:
//org.springframework.scheduling.annotation.Scheduled
@Scheduled("*/30 * * * * *")
public void performTask() {
logger.info("Starting agent");
getAgentAsyncTask().execute();
logger.info("Ending agent");
}
Это задача, которая выполняется с помощью планировщика
//org.springframework.scheduling.annotation.Async
@Async(TASK_EXECUTOR)
@Override
public void execute() {
logger.info("Starting task");
//send some rest requests
logger.info("Ending task");
}
Оба: «Запуск агента» и " Конечный агент "регистрируются равным числом раз. Таким образом, каждое планирование заканчивается должным образом.
Оба: «Начальная задача» и «Конечная задача» регистрируются равным числом раз. Итак, определенно, «задача» не блокирует вещи.
Но через некоторое время он прекращает вести учет. Что может быть проблемой?
Здесь TASK_EXECUTOR является следующая боба:
@Bean(TASK_EXECUTOR)
public ThreadPoolTaskExecutor createDefaultTaskExecutor() {
ThreadPoolTaskExecutor te = new ThreadPoolTaskExecutor();
te.setMaxPoolSize(15);
te.setCorePoolSize(15);
te.initialize();
return te;
}
Спринг версия:
4.1.6.RELEASE
Вы используете это внутри или снаружи контейнера? Кроме того, какая версия Java? – Brad
Внутри контейнера (конфигурация, основанная на аннотациях, у меня есть @EnableScheduling @EnableAsync). Java-версия 8 – coolscitist
вы читали? http://stackoverflow.com/q/17909404/206466 – xenoterracide