java成批进行http调用
我有一个main函数,它调用一个方法delete(),该方法使用http客户端调用一个外部端点,一次需要多个ID来对所有ID执行操作,在我的情况下,这些ID最多可达3000个,我想让这些调用成批进行,大约100个,这样系统就不会一次超时,等待所有3000个ID的操作完成
实现这一点的最佳建议方式是什么,以便从main函数中批量调用delete()本身
public void mainFunction() {
.
.
.
//delete call to be made in batches
deleteCall(listOfIds);
.
.
.
}
public void deleteCall(List<> listOfIds) {
RestTemplate template = HttpUtils.getRestTemplate();
//listOfIds is an ArrayList of 3000 ids
String ids = StringUtils.join(listOfIds, ',');
String url = BaseUrl + "/api/delete?Ids=" + ids;
HttpHeaders httpHeader = getHttpHeaders();
HttpEntity requestEntity = new HttpEntity(httpHeader);
try {
ResponseEntity<ResponseDTO> response = template.exchange(url, HttpMethod.POST, requestEntity,
ResponseDTO.class);
}catch(Exception e) {
Log.error(e.getMessage());
}
共 (0) 个答案