Upgrade to Kotlin Coroutines 1.7

Leverages Kotlin/kotlinx.coroutines#3487.

Closes gh-30514
This commit is contained in:
Sébastien Deleuze
2023-05-22 17:48:33 +02:00
parent 7efd347da6
commit f956d399ae
2 changed files with 7 additions and 8 deletions

View File

@@ -16,7 +16,7 @@ dependencies {
api(platform("org.apache.groovy:groovy-bom:4.0.11"))
api(platform("org.apache.logging.log4j:log4j-bom:2.20.0"))
api(platform("org.eclipse.jetty:jetty-bom:11.0.15"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1"))
api(platform("org.jetbrains.kotlinx:kotlinx-serialization-bom:1.4.0"))
api(platform("org.junit:junit-bom:5.9.3"))
api(platform("org.mockito:mockito-bom:5.3.1"))

View File

@@ -26,8 +26,8 @@ import io.vavr.control.Try;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.CoroutineContext;
import kotlinx.coroutines.Job;
import kotlinx.coroutines.reactive.AwaitKt;
import kotlinx.coroutines.reactive.ReactiveFlowKt;
import kotlinx.coroutines.reactor.MonoKt;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.reactivestreams.Publisher;
@@ -372,9 +372,8 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
}
Object result = txSupport.invokeWithinTransaction(method, targetClass, callback, txAttr, rtm);
if (corInv != null) {
Publisher<?> pr = (Publisher<?>) result;
return (hasSuspendingFlowReturnType ? KotlinDelegate.asFlow(pr) :
KotlinDelegate.awaitSingleOrNull(pr, corInv.getContinuation()));
return (hasSuspendingFlowReturnType ? KotlinDelegate.asFlow((Publisher<?>) result) :
KotlinDelegate.awaitSingleOrNull((Mono<?>) result, corInv.getContinuation()));
}
return result;
}
@@ -901,10 +900,10 @@ public abstract class TransactionAspectSupport implements BeanFactoryAware, Init
return ReactiveFlowKt.asFlow(publisher);
}
@SuppressWarnings({"unchecked", "deprecation"})
@SuppressWarnings("unchecked")
@Nullable
private static Object awaitSingleOrNull(Publisher<?> publisher, Object continuation) {
return AwaitKt.awaitSingleOrNull(publisher, (Continuation<Object>) continuation);
private static Object awaitSingleOrNull(Mono<?> publisher, Object continuation) {
return MonoKt.awaitSingleOrNull(publisher, (Continuation<Object>) continuation);
}
public static Publisher<?> invokeSuspendingFunction(Method method, CoroutinesInvocationCallback callback) {