【问题标题】:Stop a thread running in spring batch停止在春季批处理中运行的线程
【发布时间】:2020-03-12 21:38:08
【问题描述】:

我有一个 Spring 批处理应用程序,它使用分区来运行一些线程。 问题是,如果线程达到某个时间,我需要停止线程。

我不知道该怎么做。 我有一个分区步骤

@Bean
public Step partitionerStep() {
    return stepBuilderFactory.get("PARTITIONER_STEP")
            .partitioner("SLAVE_STEP", partitioner())
            .step(stepConcederPerfilNormal())
            .taskExecutor(taskExecutor())
            .build();
}

首先我认为我可以使用 ThreadPoolTask​​Executor 停止我的线程,但没有像我想的那样工作

@Bean
public TaskExecutor taskExecutor() {
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    executor.setMaxPoolSize(200);
    executor.setCorePoolSize(50);
    executor.setAllowCoreThreadTimeOut(true);
    return executor;
}

只是为了修复它。如果它正在运行 1H30M,我需要停止我的线程

【问题讨论】:

    标签: java spring multithreading spring-batch java-threads


    【解决方案1】:

    Spring Batch 不创建或管理线程,它将其委托给 TaskExecutor

    如果线程运行 1H30M,我需要停止线程

    以下内容可能会有所帮助:Stop the thread after a particular time

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2018-05-27
      相关资源
      最近更新 更多