【发布时间】:2020-07-17 11:49:37
【问题描述】:
我有一个 itemWriter 将项目写入表。编写时,我得到一个 ConstraintViolationException 并且我正在使用 SkipPolicy 跳过该异常,并且我已经实现了 @OnWriteError 方法。因此它可以很好地捕获和跳过异常并在侦听器中调用 @OnWriteError 方法。在@OnWriteError 方法中,当捕获到异常时,我正在调用另一个方法来将事件标记为失败。
@OnWriteError
public void onWriteError(Exception exception,List item) {
log.info("WRITE ERROR LISTENER CALLED");
学生 学生 = items.get(items.size()-1);
studnetManager.updateStatuss(student, "FAILED);
}
public void updateStatuss(Student student, Status status) {
Student.setStatus(status);
StudentRepository.save(Student);
}
updateStatuss() 成功调用,但学生记录未标记为 FAILED。 谁能帮我理解这个?
【问题讨论】:
标签: spring-batch