Добрый день!
у меня есть 2 api endpoint, по которым стучится Webclient.
Дело в том, что если я выкармливаю данные из 200 объектов, то он обрабатывает не до конца.
в итоге в базе должно быть 200 записей, но количество записей всегда по разному.
код:
public void getAdditionalInfo(List<ExcelModel> excelList) {
log.warn("Beginning send request to: ST-helper and Sybase-helper API`s");
for (ExcelModel excel : excelList) {
Mono<Response> postgresResponse = webClient.get()
.uri(postgres + excel.getSuip())
.retrieve()
.bodyToMono(Response.class)
.timeout(Duration.ofSeconds(3000000))
.filter(Response::getResult);
// When request completed
postgresResponse.subscribe(response -> {
excel.setAmount(response.getAmount());
excel.setRequisite(response.getRequisite());
excel.setIsValidated(true);
excelModelRepository.save(excel);
log.info("postgres: {}", excel);
});
//**********************************************************************************************
// Sending async request to sybase (old base):
Mono<Response> sybaseResponse = webClient.get()
.uri(sybase + excel.getTransactionID())
.retrieve()
.bodyToMono(Response.class)
.timeout(Duration.ofSeconds(3000000))
.filter(Response::getResult);
// When request completed
sybaseResponse.subscribe(response -> {
excel.setAmount(response.getAmount());
excel.setRequisite(response.getRequisite());
excel.setIsValidated(true);
excelModelRepository.save(excel);
log.info("sybase: {}", excel);
});
}
}