抽象基类实现Spring的标准事务工作流,担任基础混凝土平台事务管理器如JtaTransactionManager和DataSourceTransactionManager。
这个基类提供了以下工作流程处理:
- 确定如果有现有的事务;
- 应用适当的传播行为;
- 如果有必要暂停和恢复事务;
- 提交时检查rollback-only标记;
- 应用适当的修改当回滚(实际回滚或设置rollback-only);
- 触发同步回调注册(如果事务同步是激活的)
子类必须实现特定的模板方法对特定状态的事务,例如:.: begin,suspend, resume, commit, rollback。最重要的是必须提供的抽象和具体实现;其余,提供默认值,所以最重要的是可选的。
事务同步对于注册回调是一种通用的机制,在事务完成时调用,这主要是内部使用的数据访问JDBC支持类,Hibernate,JDO等运行时在一个JTA事务,注册资源打开关闭在事务完成的事务时间内,允许例如重用相同的Hibernate会话内的事务,相同的机制也可以用于自定义同步需要在应用程序中,这个类是可序列化的,以允许序列化的事务策略以及代理事务拦截器,这由子类决定如果他们想使他们的状态是可序列化的。他们应该实现java . io .可串行化的标记接口在这种情况下,和一个潜在的私人readObject()方法(根据Java序列化规则)如果他们需要恢复任何瞬态。
内部类 Summary |
|||
protected static class |
AbstractPlatformTransactionManager.SuspendedResourcesHolder |
||
字段 Summary |
|||
protected Log |
logger |
||
static int |
SYNCHRONIZATION_ALWAYS |
||
static int |
|