Spring事务03管理事务状态接口1TransactionStatus
2、类结构图
3、类接口和方法说明
package com.test.transaction.test;import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.SavepointManager;
import java.io.Flushable;
/**
* 事务状态的表示。
*
* 事务性代码可以使用它来检索状态信息,并以编程方式请求回滚(而不是抛出导致隐式回滚的异常)。
*
* 包括{@link SavepointManager}接口,以提供对保存点管理工具的访问。
* 注意,只有在底层事务管理器支持的情况下,保存点管理才可用。
*
* @see #setRollbackOnly()
* @see PlatformTransactionManager#getTransaction
* @see org.springframework.transaction.support.TransactionCallback#doInTransaction
* @see org.springframework.transaction.interceptor.TransactionInterceptor#currentTransactionStatus()
*/
public interface TransactionStatus extends SavepointManager, Flushable {
/**
* 返回当前事务是否是新的;
* 否则参与现有的交易,或者从一开始就不可能在实际事务中运行。
*/
boolean isNewTransaction();
/**
* 返回该事务是否在内部带有保存点,
* 也就是说,已创建为基于保存点的嵌套事务。
*
* 此方法主要用于诊断目的,另外还有{@link #isNewTransaction()}。
* 对于自定义保存点的编程处理,使用{@link SavepointManager}提供的操作。
*
* @see #isNewTransaction()
* @see #createSavepoint()
* @see #rollbackToSavepoint(Object)
* @see #releaseSavepoint(Object)
*/
boolean hasSavepoint();
/**
* 只设置事务回滚。这指示事务管理器事务的唯一可能结果可能是回滚,
* 作为抛出异常的替代方法,它将反过来触发回滚。
*
* 这主要用于由
* {@link org.springframework.transaction.support.TransactionTemplate}
* 或者
* {@link org.springframework.transaction.interceptor.TransactionInterceptor},
* 实际的提交/回滚决策是由容器做出的。
*
* @see org.springframework.transaction.support.TransactionCallback#doInTransaction
* @see org.springframework.transaction.interceptor.TransactionAttribute#rollbackOn
*/
void setRollbackOnly();
/**
* 返回事务是否被标记为仅回滚(通过应用程序或事务基础结构)。
*/
boolean isRollbackOnly();
/**
* 将底层会话刷新到数据存储(如果适用):
* 例如,所有受影响的Hibernate/JPA会话。
*
* 这实际上只是一个提示,如果底层事务管理器没有刷新的概念,则可能是一个no-op。
* 刷新信号可能应用于主资源或事务同步,这取决于底层资源。
*/
@Override
void flush();
/**
* 返回该事务是否已完成,即是否已提交或回滚。
*
* @see PlatformTransactionManager#commit
* @see PlatformTransactionManager#rollback
*/
boolean isCompleted();
}
以上是 Spring事务03管理事务状态接口1TransactionStatus 的全部内容, 来源链接: utcz.com/z/513318.html