我正在为我的一个ETL项目使用Spring Batch
。我面临的问题是在作家步骤中。以下是它的代码段:
public void write(List<? extends Employee> employeeList) throws Exception {
for (Employee emp : employeeList) {
try {
employeeService.insertEmployeeBasicDetails(emp);
employeeService.insertEmployeeCompensationDetails(emp);
} catch(Exception e) {
log.error(e);
}
}
}
如果在第一次服务呼叫期间插入时出错,则不会发出异常,但会转移到第二次呼叫。完成所有这些调用之后,它会抛出一个错误,但现在没有catch块来捕获错误并且我的作业无法重新启动。
我在这里错过了什么吗?
答案 0 :(得分:0)
你的try块'可能没有给出异常',因为没有抛出任何异常。使用给定的代码,对于write方法抛出未捕获的异常,它不在try块中 - 在这种情况下是catch块内。如果这是你的所有代码,那么考虑在catch块中放置一个断点并检查log.error(e);
是否不会抛出异常。