spring - Spring批量JDBC批量写入如何处理SQL异常
问题描述
我有从 ActiveMQ Artemis 读取并写入 Oracle 数据库的 spring 批处理。现在我想实现一种机制来满足 JDBC 批量写入中是否发生任何 SQLException 如下所示,
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL
我试过了SkipPolicy
,CompositeStepExecutionListener
但似乎方法不会因错误而被调用。我的目标是将容易出错的消息写入错误队列或日志。有没有办法不用扩展就可以做到JdbcBatchItemWriter
。另外我想知道你对我的错误处理是否有效的看法?
解决方案
我的目标是将容易出错的消息写入错误队列或日志
ItemWriteListener#onWriteError
应该在写入失败时调用。它使您可以访问失败块的项目以及导致失败的异常。您可以实现此侦听器并将失败的项目发送到您的错误队列或根据需要记录它们。
推荐阅读
- azure - 如何在另一个 azure 订阅中使用 terraform 状态
- react-native - React Native 'expo-video-player' - 当 URL 中有“+”时,网络视频不起作用
- python - 获取 pandas DataFrame 中每一行的词汇表
- javascript - 获取 GET http://example.co.in/owl-carousel/owl.theme.css net::ERR_ABORTED 404(未找到)
- jquery - 如果当前 url 类似于链接,则使其处于活动状态,除非 url 是特定的 url(例如;除非 url 是“google.com”)
- lua - ROBLOX Studio:每次重置/重生/刷新角色时,如何将玩家分配到团队?
- json - flask_request_validator 嵌套 Json 验证器
- postgresql - Google Data Studio - 显示来自 PostgreSQL 数据源的图表时“无数据集访问权限”
- css - 在 clrInput 上自定义样式
- ios - SwiftUI:在 NavigationLink 中使用图像作为标签时内存使用率很高