在Spring中,可以使用TransactionSynchronizationManager.isActualTransactionActive()
方法来判断当前线程是否在事务中。
示例代码如下:
import org.springframework.transaction.support.TransactionSynchronizationManager;
public class TransactionUtils {
public static boolean isInTransaction() {
return TransactionSynchronizationManager.isActualTransactionActive();
}
}
然后,在需要判断是否在事务内的地方调用isInTransaction()
方法即可判断当前线程是否在事务中。
if (TransactionUtils.isInTransaction()) {
// 在事务内的逻辑处理
} else {
// 不在事务内的逻辑处理
}