Остановить поток, работающий в весенней партии - PullRequest
0 голосов
/ 13 марта 2020

У меня есть пакетное приложение 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

1 Ответ

0 голосов
/ 13 марта 2020

Spring Batch не создает и не управляет потоками, он делегирует это TaskExecutor.

Мне нужно остановить поток, если он работает в 1H30M

Может помочь следующее: Остановить поток через определенное время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...