簡體   English   中英

停止在春季批處理中運行的線程

[英]Stop a thread running in spring batch

我有一個 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,我需要停止它

Spring Batch 不創建或管理線程,它將線程委托給TaskExecutor

如果我的線程正在運行 1H30M,我需要停止它

以下可能有幫助: 在特定時間后停止線程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM