簡體   English   中英

Spring 批處理 - 塊 model 的條件步驟流程

[英]Spring batch - conditional step flow for Chunk model

我有兩個步驟,如果第 1 步處理器在過濾后沒有返回任何項目,則應該跳過第 2 步。 我看到ItemListenerSupport可以擴展,並且可以使用后處理。

@Override
public void afterProcess(NumberInfo item, Integer result) {
    super.afterProcess(item, result);
    if (item.isPositive()) {
        stepExecution.setExitStatus(new ExitStatus(NOTIFY));
    }
}

我的處理是基於塊的,我想在處理完所有塊之后設置退出狀態,如果有任何項目未過濾。 我目前正在將未過濾的項目添加到ExecutionContext並在下一步中使用。

如果過濾掉所有塊的所有項目,我將如何阻止下一步

對於程序化決策,您可以使用JobExecutionDecider 此 API 使您可以訪問上一步的StepExecution ,因此您可以根據上一步執行的任何信息及其執行上下文來決定運行下一步。 在您的情況下,它可以是過濾器計數或任何對您預先存儲在執行上下文中的決定有意義的東西。

您可以在參考文檔的Programmatic Flow Decisions部分找到有關此 API 和一些代碼示例的更多詳細信息。

暫無
暫無

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

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