1.问题描述
在同步第三方数据时一直报 Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out
2.原因分析
对方接口返回的数据太多了,每个接口都返回了几千行的json数据,而且同步一条完整的数据回来要调用好几个接口,导致每次同步数据的时间都很长才报错
3.解决方案
1、缩短每次同步数据时的查询数量,从每次分页查询2000条,改成100条
2、每次同步完一条数据都让程序暂停一下,因为我在同步时没用到线程,所以使用睡眠的方式进行暂停
Thread.sleep(2000); // 暂停2秒,减少对方接口压力,防止出现 Read timed out
3、根据情况 增加/减少 定时任务的同步频率