У меня есть пакетное приложение Spring, которое использует раздел для запуска некоторых потоков. проблема в том, что мне нужно остановить поток, если он достигнет определенного времени.
Я не знаю, как это сделать. У меня есть шаг секционирования
@Bean
public Step partitionerStep() {
return stepBuilderFactory.get("PARTITIONER_STEP")
.partitioner("SLAVE_STEP", partitioner())
.step(stepConcederPerfilNormal())
.taskExecutor(taskExecutor())
.build();
}
Сначала я подумал, что могу остановить свою ветку, используя ThreadPoolTaskExecutor, но это не работает, как я думал
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setMaxPoolSize(200);
executor.setCorePoolSize(50);
executor.setAllowCoreThreadTimeOut(true);
return executor;
}
Просто чтобы исправить это. Мне нужно остановить свою ветку, если она работает на 1H30M