0

使用 java spring 框架将数据输入数据库时​​,现有值的错误消息代码是什么?

我试过这个代码..

public class SkipCheckingListener extends StepExecutionListenerSupport {    
    public ExitStatus afterStep(StepExecution stepExecution) {
        String exitCode = stepExecution.getExitStatus().getExitCode();
        if (!exitCode.equals(ExitStatus.FAILED.getExitCode()) && 
              stepExecution.getSkipCount() > 0) {
            return new ExitStatus("COMPLETED WITH SKIPS");
        }
        else {
            return null;
        }
    }
4

1 回答 1

0

关于您的问题:ExitStatus只是用于控制作业 xml 定义中的作业流程的字符串,并且没有ExitStatus针对重复数据的预定义。

在 spring-batch 中(您的代码来自这个 spring 模块)重复数据是一个业务问题,因此您必须使用自定义异常(DuplicatedOrderException例如或DataAccessException后代)来管理它并no-rollback-exception-classes在 tasklet 标记或skippable-exception-classes块中使用;根据需要添加SkipListener和管理跳过元素(可能设置步长变量)。
StepExecutionListener.afterStep您可以检查以前的变量并返回自定义错误消息。

于 2013-08-05T06:03:27.280 回答