我有从ActiveMQ Artemis读取并写入Oracle数据库的spring批处理。现在,我想实现一种机制,以解决JDBC批处理写入中是否发生任何SQLException,如下所示,
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL
我尝试使用SkipPolicy
和CompositeStepExecutionListener
,但似乎方法未在错误时调用。我的目标是将容易出错的消息写入错误队列或日志。有没有一种方法我可以不用扩展JdbcBatchItemWriter
来做到这一点。我也想知道您对我的错误处理是否有效的看法?
答案 0 :(得分:0)
我的目标是将容易出错的消息写入错误队列或日志
ItemWriteListener#onWriteError
应该在写入失败时被调用。它使您可以访问失败的块的项目以及导致失败的异常。您可以实现此侦听器,并将失败的项目发送到您的错误队列或根据需要对其进行记录。