首页 > 解决方案 > Spring批量JDBC批量写入如何处理SQL异常

问题描述

我有从 ActiveMQ Artemis 读取并写入 Oracle 数据库的 spring 批处理。现在我想实现一种机制来满足 JDBC 批量写入中是否发生任何 SQLException 如下所示,

org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL

我试过了SkipPolicyCompositeStepExecutionListener但似乎方法不会因错误而被调用。我的目标是将容易出错的消息写入错误队列或日志。有没有办法不用扩展就可以做到JdbcBatchItemWriter。另外我想知道你对我的错误处理是否有效的看法?

标签: springspring-batch

解决方案


我的目标是将容易出错的消息写入错误队列或日志

ItemWriteListener#onWriteError应该在写入失败时调用。它使您可以访问失败块的项目以及导致失败的异常。您可以实现此侦听器并将失败的项目发送到您的错误队列或根据需要记录它们。


推荐阅读