![](/img/trans.png)
[英]Email Sender Tasklet Executes Only On Spring Batch Java Job Fails
[英]Exit Spring Batch Job within tasklet
我有一個Spring Batch Tasklet,但我不知道如何從中失敗。 我要檢查某些參數,如果不存在,請在該步驟中使作業失敗。
@Component
public class Tfp211SetupTasklet extends AbstractSetupTasklet {
final static Logger LOGGER = LoggerFactory.getLogger(Tfp211SetupTasklet.class);
@Override
protected RepeatStatus performTask(ExecutionContext ec, ChunkContext chunkContext) {
//TODO
//add error checking. If the parameter is not there, fail out or throw an error message.
Map<String, String> params = new HashMap<>();
List<String> requiredParams = new ArrayList<>();
requiredParams.add("name");
requiredParams.add("id");
requiredParams.add("test");
JobParameters jobParameters = chunkContext.getStepContext().getStepExecution().getJobParameters();
params.put("name", jobParameters.getString("name"));
params.put("id", jobParameters.getString("id"));
params.put("test", jobParameters.getString("test"));
// if (!params.values().containsAll(requiredParams)) {
// LOGGER.info("not all required parameters exist for the job execution to succeed.");
// return RepeatStatus.FINISHED;
// }
ec.put(AbstractSetupTasklet.BATCH_PROGRAM_PARAMS, params);
ec.put(AbstractSetupTasklet.BATCH_PROGRAM_NAME, NTfp211.class.getSimpleName());
return RepeatStatus.FINISHED;
}
}
注釋掉的行是我試圖讓工作退出的內容。 任何人都有經驗嗎?
要使小任務失敗,只需從其拋出異常即可。
您可以implements
接口StepExecutionListener
,並在
@Override
public ExitStatus afterStep(StepExecution stepExecution) {
// check failed condition
return ExitStatus.FAILED;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.