Unirest操作大批量报错Socket closed

问题遇到的现象和发生背景

跑定时任务时发送大批量数据给第三方时,到一定数据量会出现:I/O exception (java.net.SocketException) caught when processing request to {}->http://ip地址 Socket closed

用代码块功能插入代码,请勿粘贴截图
Unirest.setTimeouts(0, 0);
        HttpResponse<String> response = Unirest.post(url)
                .header("Datetime", dateStr)
                .header("OperatorId", operatorId)
                .header("Token", token)
                .header("Signature", sign)
                .header("User-Agent", "apifox/1.0.0 (https://www.apifox.cn)")
                .header("Content-Type", "application/json")
                .body(body)
                .asString();
        return response.getBody();
运行结果及报错内容

1766832 [myScheduler-29] INFO org.apache.http.impl.execchain.RetryExec - I/O exception (java.net.SocketException) caught when processing request to {}->http://ip地址: Socket closed
1766832 [myScheduler-29] INFO org.apache.http.impl.execchain.RetryExec - Retrying request to {}->http://ip地址
com.mashape.unirest.http.exceptions.UnirestException: java.net.SocketException: Socket closed

我的解答思路和尝试过的方法

最开始是定时任务一次性查出大批量数据(24000条),以1200条一组多线程去请求上报数据。结果直接崩了,缓了10多分钟才正常,且数据大部分没报上去
优化后:定时任务执行完毕后等待1分钟再次执行,一次查240条,在跑到1200条会出现运行结果及报错内容的内容
看到报错信息后,socket连接关闭,怀疑是过载,所以减少一次数据量。
再次优化:定时任务执行完毕后等待10秒再次执行,一次查12条,跑到1500条出现行结果及报错内容的内容

我想要达到的结果

怎么样让这个Unirest操作大批量不报错,能正常报送数据。