繁体   English   中英

数据库查询失败时,Spring Batch中的Writer中不会引发异常

[英]Exception not throw in Writer in Spring Batch when DB query fails

我正在将Spring Batch用于我的ETL项目之一。 我面临的问题是在编写者步骤中。 以下是其代码片段:

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);
       }            
    }
}

如果在第一个服务调用期间插入时遇到错误,它不会给出异常,但会移至第二个调用。 完成所有这些调用后,它将引发错误,但是现在没有捕获块可以捕获该错误,并且我的作业无法重新启动。

我在这里想念什么吗?

您的try块很可能“没有给出异常”,因为没有抛出异常。 对于给定的代码,对于write方法引发未捕获的异常,它不在try块中-在这种情况下,在catch块中。 如果这是您的全部代码,则可以考虑在catch块中放置一个断点,并检查log.error(e); 不会引发异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM