Я пытаюсь создать простое веб-приложение с использованием весенней загрузки - webflux (функциональные конечные точки) & jdb c. Приложение получает полезную нагрузку в формате XML (некоторые данные одного сотрудника). Приведенный ниже код сохраняет данные для одного сотрудника, как и ожидалось.
public Mono<String> createData(final Mono<Record> inputMono) {
final String someID = UUID.randomUUID().toString();
final Mono<Integer> asyncUpdate = inputMono.flatMap(record -> {
return beginUpdate(dataSource,
sqlStatementSharedAbove).withStatementEnricher(stmt -> {
stmt.setString(1, record.getFirstName());
stmt.setString(2, record.getLastName());
stmt.setInt(3, record.getAddress());
}).build();
});
return asyncUpdate.doOnSuccess(affectedRows -> LOGGER.debug("Added
{} rows with ID {}", affectedRows, someID))
.map(affectedRows -> someID);
}
Теперь мне нужно сохранить аналогичные данные для нескольких сотрудников (изменив полезную нагрузку XML, чтобы содержать несколько записей сотрудников)
В мир не webflux, я бы просто перебрал список объектов сотрудников и вызвал бы эту функцию для каждого из них.
Как мне добиться того же в webflux? По сути, я хочу обработать функцию saveAll с помощью webflux, и учитывая, что мне нужно работать с JDB C (я понимаю, что JDB C не поддерживает неблокирующую парадигму, а Mon go поддерживает API saveAll, но я у меня есть определенные ограничения в отношении того, какую БД я могу использовать, и поэтому должен работать с JDB C)
Спасибо.