@@ -192,7 +192,7 @@ private Mono<ReactiveTransaction> handleExistingTransaction(TransactionSynchroni
192
192
Mono <SuspendedResourcesHolder > suspendedResources = suspend (synchronizationManager , transaction );
193
193
return suspendedResources .flatMap (suspendedResourcesHolder -> {
194
194
GenericReactiveTransaction status = newReactiveTransaction (synchronizationManager ,
195
- definition , transaction , true , debugEnabled , suspendedResources );
195
+ definition , transaction , true , debugEnabled , suspendedResourcesHolder );
196
196
return doBegin (synchronizationManager , transaction , definition ).doOnSuccess (ignore ->
197
197
prepareSynchronization (synchronizationManager , status , definition )).thenReturn (status )
198
198
.onErrorResume (ErrorPredicates .RUNTIME_OR_ERROR , beginEx ->
@@ -322,22 +322,24 @@ private Mono<Void> resume(TransactionSynchronizationManager synchronizationManag
322
322
@ Nullable Object transaction , @ Nullable SuspendedResourcesHolder resourcesHolder )
323
323
throws TransactionException {
324
324
325
+ Mono <Void > resume = Mono .empty ();
326
+
325
327
if (resourcesHolder != null ) {
326
328
Object suspendedResources = resourcesHolder .suspendedResources ;
327
329
if (suspendedResources != null ) {
328
- return doResume (synchronizationManager , transaction , suspendedResources );
330
+ resume = doResume (synchronizationManager , transaction , suspendedResources );
329
331
}
330
332
List <TransactionSynchronization > suspendedSynchronizations = resourcesHolder .suspendedSynchronizations ;
331
333
if (suspendedSynchronizations != null ) {
332
334
synchronizationManager .setActualTransactionActive (resourcesHolder .wasActive );
333
335
synchronizationManager .setCurrentTransactionIsolationLevel (resourcesHolder .isolationLevel );
334
336
synchronizationManager .setCurrentTransactionReadOnly (resourcesHolder .readOnly );
335
337
synchronizationManager .setCurrentTransactionName (resourcesHolder .name );
336
- return doResumeSynchronization (synchronizationManager , suspendedSynchronizations );
338
+ return resume . then ( doResumeSynchronization (synchronizationManager , suspendedSynchronizations ) );
337
339
}
338
340
}
339
341
340
- return Mono . empty () ;
342
+ return resume ;
341
343
}
342
344
343
345
/**
0 commit comments