如何在Spring批处理JDBC批处理写入中处理SQL异常

时间:2020-03-02 10:52:42

标签: spring spring-batch

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

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

我尝试使用SkipPolicyCompositeStepExecutionListener,但似乎方法未在错误时调用。我的目标是将容易出错的消息写入错误队列或日志。有没有一种方法我可以不用扩展JdbcBatchItemWriter来做到这一点。我也想知道您对我的错误处理是否有效的看法?

1 个答案:

答案 0 :(得分:0)

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

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