Как предположил dnault в комментарии, вы никогда не запускаете Observable
для фактического запуска операций.Поток выполнения настроит Observable
и продолжит работу, поэтому ваше приложение просто закроется, если это все, что нужно.
Если ваше приложение предназначено для асинхронного потребления вывода, вы можете просто добавить его.вариантов subscribe
.
Если вы хотите заблокировать до завершения операций, вы хотите использовать защелку обратного отсчета, или вы можете сделать что-то вроде
List<DocumentFragment<Mutation>> result = docIdsObs.flatMap(docId -> this.subdocUpsert(bucket, docId, docPath, value,
persist, replicate, timeout,
timeunit));
.toList()
.toBlocking()
.single();
Это заблокирует и выдаст все результаты в одном списке.