JAVA同步第三方数据库数据到自有数据库

m0_48665929 2020-06-22 03:39:40
JAVA实现定时任务接口,定时按时间增量去同步第三方系统的数据,第三方接口有数据量限制(1000),请问在某次调用第三方接口时获取到了1000条记录,在存储到自有数据库时,比如第200条记录出现异常存储失败,这时候你们是怎么处理的呀?请各位指点指点!
...全文
4544 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-06-24
  • 打赏
  • 举报
回复
一般情况下是批量读取,然后,逐条处理。 如果某条记录在处理的时候出现异常,通常的做法是将错误信息保存下来(数据库或者写硬盘日志)。 错误信息尽量完整,也就是说,关键的上下文数据,最好是同时保存下来,当然,也包括异常信息。 这样有助于排查问题。 之后,编写一个针对错误信息的处理程序,针对各种异常情况进行错误信息的处理,逐渐修复和完善程序。 重试机制,一般情况下,并不能容错所有的异常情况,并且,要设定最大重试次数。
s478853630 2020-06-23
  • 打赏
  • 举报
回复
假如3000条数据,批处理1000,分3批,第一批没问题其余报错,有三种常见错误: 1,主键冲突数据重复,解决方案:把数据分成两波,一波insert,一波update 2,数据类型不匹配,解决方案:做好数据类型转换,字符串/日期时间/整型/浮点型四种类型足矣 3,字段长度不够,解决方案:根据异常信息找到相应字段,执行alter table xxx change ....语句 我们自主研发的ETL遇到这三种情况由程序自动解决,不用人工干预,并且有网页版操作界面 如果出现第四种情况,就发邮件预警
咦哟~~~ 2020-06-23
  • 打赏
  • 举报
回复
那你定义一个机制呗 错误几次后 存到异常表中
m0_48665929 2020-06-23
  • 打赏
  • 举报
回复
引用 1 楼 青海棠的回复:
批量存储,加事务,报错回滚,重试
重试还是失败怎么办?不能一直重试吧。
沁海棠 2020-06-22
  • 打赏
  • 举报
回复
批量存储,加事务,报错回滚,重试

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧