[英]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.