mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-06-20 02:47:17 +08:00
refactor: 增加afterCommit模版方法
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package org.hswebframework.web.crud.utils;
|
||||
|
||||
import lombok.NonNull;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.NoTransactionException;
|
||||
import org.springframework.transaction.reactive.TransactionContextManager;
|
||||
@@ -12,6 +13,19 @@ import java.util.function.Function;
|
||||
@Slf4j
|
||||
public class TransactionUtils {
|
||||
|
||||
public static Mono<Void> afterCommit(Mono<Void> task) {
|
||||
return TransactionUtils.registerSynchronization(
|
||||
new TransactionSynchronization() {
|
||||
@Override
|
||||
@NonNull
|
||||
public Mono<Void> afterCommit() {
|
||||
return task;
|
||||
}
|
||||
},
|
||||
TransactionSynchronization::afterCommit
|
||||
);
|
||||
}
|
||||
|
||||
public static Mono<Void> registerSynchronization(TransactionSynchronization synchronization,
|
||||
Function<TransactionSynchronization, Mono<Void>> whenNoTransaction) {
|
||||
return TransactionSynchronizationManager
|
||||
|
||||
Reference in New Issue
Block a user