问题描述
我们有一个带有弹簧靴和弹簧批的小批量项目。
我们正在将JdbcBatchItemWriter
与db2数据库一起使用。
但是,发生错误时,我们收到以下错误消息:
引起原因:com.ibm.db2.jcc.am.BatchUpdateException:[jcc] [t4] [102] [10040] [3.63.123]批处理失败。 提交了该批次,但是该批次的单个成员发生了至少一个异常。 使用getNextException()检索特定批处理元素的异常。 错误代码= -4229,SQLSTATE =空
不幸的是,要获得明确的错误消息,我需要使用spring来调用getNextException()
以获取有关精确异常的详细信息。
但是,我已经检查了SQLErrorCodeSQLExceptionTranslator
类的代码,看起来Spring并没有为此提供一些功能。
是否有人在不重写类SQLErrorCodeSQLExceptionTranslator
情况下找到了解决此问题的方法?
1楼
(getAllFailureExceptions(),jobLauncher.run后)结束:这可以通过检查返回的例外列表中进行处理。
List<Throwable> exceptions = execution.getAllFailureExceptions();
for (Throwable throwable : exceptions) {
//code to handle nested exceptions
}