Spring批量调用JdbcBatchItemWriter

时间:2015-07-16 13:52:21

标签: java spring spring-batch

我们有一个小批量项目,包括弹簧靴和弹簧批。

我们正在使用JdbcBatchItemWriter和db2数据库。但是,当发生错误时,我们收到以下错误消息:

  

引起:com.ibm.db2.jcc.am.BatchUpdateException:[jcc] [t4] [102] [10040] [3.63.123]批处理失败。批次已提交,但批次的单个成员至少发生了一个例外。   使用getNextException()来检索特定批处理元素的异常。 ERRORCODE = -4229,SQLSTATE = null

不幸的是,要获得明确的错误消息,我需要Spring来调用getNextException()来获取有关精确异常的详细信息。但是,我已经检查了类SQLErrorCodeSQLExceptionTranslator的代码,并且它看起来不像Spring提供了一些功能。

有没有人在不重写课程SQLErrorCodeSQLExceptionTranslator的情况下找到解决此问题的方法?

1 个答案:

答案 0 :(得分:1)

这可以通过在 jobLauncher.run()结束后查看由 getAllFailureExceptions()返回的例外列表来处理。

 List<Throwable> exceptions = execution.getAllFailureExceptions();
                for (Throwable throwable : exceptions) {
                   //code to handle nested exceptions
                 }