Я создавал приложение для переноса данных, которое будет извлекать данные из базы данных mysql
в формате json.Затем я отправлю этот большой ответ JSON на mongodb
.Я умею выполнять обе части.Но получение данных из mysql
занимает слишком много времени из-за обилия данных.Поэтому я подумал, могу ли я записать / добавить этот поток данных обратно в какой-либо файл синхронно.Ниже приведен мой код, т.е. ПОЛУЧИТЕ остальные API для извлечения данных:
@GetMapping(value = "data/cdr/daterange", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<CoreResponseHandler> getCdrData(@RequestParam(value="from",required=true)String from,@RequestParam(value="to",required=true)String to){
String temp_from=from;
String temp_to=to;
MainJson mainJson = null; // a class that accumulates all objects together
if((from!=null && !from.isEmpty())&&(to!=null && !to.isEmpty()))
from = from + " 00:00:00";
to = to + " 23:59:59";
List<CdrCustom> listCdr = cdrService.getAllRecords(from,to);
List<HssCustom> listHss = hssLogsService.getAllRecords(from, to);
List<CallsCustom> listCalls=crbtLogsService.getAllRecords(from, to);
boolean flag = commonsUtility.checkDates(temp_from,temp_to);
if(flag) {
List<String> list = commonsUtility.datesList(temp_from,temp_to);
mainJson = commonsUtility.makeJson(listCalls,listHss,listCdr,list);
if(mainJson!=null && mainJson.getDataDump().get(0).get_id()!=null && !mainJson.getDataDump().get(0).get_id().equals("")) {
return new ResponseEntity<CoreResponseHandler>(new SuccessResponseBeanRefined(HttpStatus.OK, ResponseStatusEnum.SUCCESSFUL, ApplicationResponse.SUCCESSFUL, mainJson),HttpStatus.OK);
}
else {
return new ResponseEntity<CoreResponseHandler>(new SuccessResponseBeanRefined(HttpStatus.NOT_FOUND, ResponseStatusEnum.FAILED, ApplicationResponse.Failed,"data not found!"),HttpStatus.NOT_FOUND);
}
}
return new ResponseEntity<CoreResponseHandler>(new SuccessResponseBeanRefined(HttpStatus.BAD_REQUEST, ResponseStatusEnum.FAILED, ApplicationResponse.Failed," > Bad request"),HttpStatus.BAD_REQUEST);
}
из-за большого объема данных, я знаю, что будет задержка.Ничего не поделаешь.Но я думаю или обеспокоен тем, что если я смогу написать ответ по частям в какой-нибудь файл.Пожалуйста, предложите, что мне делать.