gpt4 book ai didi

java - 在 tasklet 中退出 Spring Batch Job

转载 作者:行者123 更新时间:2023-12-05 09:15:26 26 4
gpt4 key购买 nike

我有一个 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;
}

}

注释掉的行是我试图让工作退出的内容。有人有这方面的经验吗?

最佳答案

要使 tasklet 失败,只需从中抛出异常即可。

关于java - 在 tasklet 中退出 Spring Batch Job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52484874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com