DATACMNS-1819 - Use awaitSingleOrNull to bridge Publisher to Coroutines Repositories.

We're now awaiting completion of the underlying Publisher to ensure all completion tasks have finished before continuing with the execution. This is to avoid completion running in parallel to the actual coroutine as not awaiting completion can result in race conditions.
This commit is contained in:
Mark Paluch
2020-10-27 16:43:13 +01:00
parent 84d9ef0e09
commit 0902fe8f8b

View File

@@ -182,7 +182,7 @@ abstract class RepositoryMethodInvoker {
result = (Publisher<?>) collectToList(result);
}
return AwaitKt.awaitFirstOrNull(result, continuation);
return AwaitKt.awaitSingleOrNull(result, continuation);
} catch (Exception e) {
multicaster.notifyListeners(method, args, computeInvocationResult(invocationResultCaptor.error(e)));
throw e;