/* Font definitions */
html { font-family: '宋体',sans-serif; font-size: 9pt; font-style: normal; font-weight: normal; }
body, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt { font-size: 1em; }
pre { font-family: monospace; }
h1 { font-size: 1.8em; }
h2 { font-size: 1.2em; }
h3 { font-size: 1.1em; }
/* Margins */
h1 { margin-top: 0.3em; margin-bottom: 0.04em }
h2 { margin-top: 2em; margin-bottom: 0.25em }
h3 { margin-top: 1.7em; margin-bottom: 0.25em }
h4 { margin-top: 2em; margin-bottom: 0.3em }
h5 { margin-top: 0px; margin-bottom: 0px }
p { margin-top: 1em; margin-bottom: 1em }
pre { margin-left: 0.6em }
ul { margin-top: 0px; margin-bottom: 1em; }
li { margin-top: 0px; margin-bottom: 0px; }
li p { margin-top: 0px; margin-bottom: 0px; }
ol { margin-top: 0px; margin-bottom: 1em; }
dl { margin-top: 0px; margin-bottom: 1em; }
dt { margin-top: 0px; margin-bottom: 0px; font-weight: bold; }
dd { margin-top: 0px; margin-bottom: 0px; }
/* Styles and colors */
a:link { color: #0000FF; }
a:hover { color: #000080; }
a:visited { text-decoration: underline; }
h4 { font-style: italic; }
strong { font-weight: bold; }
em { font-style: italic; }
var { font-style: italic; }
th { font-weight: bold; }
org.springframework.transaction.TransactionDefinition
解析JDBC事务配置
隔离等级 |
描述 |
ISOLATION_DEFAULT |
默认隔离等级
|
ISOLATION_READ_UNCOMMITTED
|
最低隔离等级,仅仅保证了读取过程中不会读取到非法数据 |
ISOLATION_READ_COMMITTED
|
某些数据库的默认隔离等级;保证了一个事务不会读到另外一个并行事务已修改但未提交的数据 |
ISOLATION_REPEATABLE_READ
|
比上一个更加严格的隔离等级。保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据 |
ISOLATION_SERIALIZABLE |
性能代价最为昂贵,最可靠的隔离等级。所有事务都严格隔离,可视为各事务顺序执行 |
传播途径(Propagation Behavior)
Propagation Behavior
|
描述
|
PROPAGATION_REQUIRED |
支持现有事务。如果没有则创建一个事务 |
PROPAGATION_SUPPORTS |
支持现有事务。如果没有则以非事务状态运行。 |
PROPAGATION_MANDATORY |
支持现有事务。如果没有则抛出异常。 |
PROPAGATION_REQUIRES_NEW |
总是发起一个新事务。如果当前已存在一个事务,则将其挂起。 |
PROPAGATION_NOT_SUPPORTED |
不支持事务,总是以非事务状态运行,如果当前存在一个事务,则将其挂起。 |
PROPAGATION_NEVER |
不支持事务,总是以非事务状态运行,如果当前存在一个事务,则抛出异常。 |
PROPAGATION_NESTED |
如果当前已经存在一个事务,则以嵌套事务的方式运行,如果当前没有事务,则以默认方式(第一个)执行 |
分享到:
相关推荐
Spring 提供了一种灵活的方式来管理和控制事务的边界,这主要体现在TransactionDefinition接口定义的7种事务传播行为上。 1. **PROPAGATION_REQUIRED**:这是最常用的传播行为,如果当前存在事务,那么加入到该事务...
* TransactionDefinition.ISOLATION_REPEATABLE_READ:该隔离级别表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同。 * TransactionDefinition.ISOLATION_SERIALIZABLE:所有的事务依次...
* TransactionDefinition.ISOLATION_REPEATABLE_READ:表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同 * TransactionDefinition.ISOLATION_SERIALIZABLE:所有的事务依次逐个执行,...
1. TransactionDefinition.ISOLATION_DEFAULT:使用后端数据库默认的隔离级别,Mysql 默 认 采 用 的 REPEATABLE_READ 隔 离 级 别,Oracle 默 认 采 用 的 READ_COMMITTED 隔离级别。 2. TransactionDefinition....
* TransactionDefinition.ISOLATION_REPEATABLE_READ:该隔离级别表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同。 * TransactionDefinition.ISOLATION_SERIALIZABLE:所有的事务依次...
这些行为由`TransactionDefinition`接口中的7种常量表示,它们分别为: 1. `PROPAGATION_REQUIRED`: 这是最常见的事务传播行为,表示如果当前存在事务,那么方法将在这个事务中运行;如果当前不存在事务,则创建一...
Spring的事务管理主要围绕三个核心接口展开:PlatformTransactionManager、TransactionDefinition和TransactionStatus。 1. **PlatformTransactionManager**: PlatformTransactionManager接口是Spring事务管理的...
在Spring框架中,事务管理...例如,`PlatformTransactionManager`的实现类如何与`TransactionDefinition`和`TransactionStatus`交互,`TransactionInterceptor`如何利用`TransactionAttribute`来决定事务的边界,以及`...
Spring 在 TransactionDefinition 接口中定义这些属性,以供 PlatformTransactionManager 使用。PlatformTransactionManager 是 Spring 事务管理的核心接口。 TransactionDefinition 接口中定义了五个不同的方法: ...
1. `TransactionDefinition getTransaction(TransactionDefinition definition)`: 这个方法用于开始一个新的事务或者恢复一个已存在的事务。`TransactionDefinition`接口提供了事务的属性,如隔离级别、事务超时和...
事务管理主要涉及三个关键组件:PlatformTransactionManager、TransactionDefinition和TransactionStatus。 1. PlatformTransactionManager是Spring提供的接口,用于管理事务。它有三个主要方法: - commit...
TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException; void commit(TransactionStatus status) throws TransactionException; void rollback(TransactionStatus ...
事务传播特性&事务隔离级别...TransactionDefinition 是一个接口,提供了事务的基本信息,包括事务的名称、timeout、readOnly、隔离级别等。 在 Spring 框架中,事务管理是通过 PlatformTransactionManager 来实现的。...
- `getTransaction(TransactionDefinition definition)`: 获取事务状态,根据`TransactionDefinition`中的配置创建或返回现有事务。 - `commit(TransactionStatus status)`: 提交事务,将事务中的更改持久化到...
TransactionDefinition td = new TransactionDefinition(); TransactionStatus ts = transactionManager.getTransaction(td); try{ //业务逻辑 transactionManager.commit(ts); } catch (Exception e) { ...
Spring还提供了一系列接口和类,如PlatformTransactionManager负责实际的事务管理,TransactionalEventListener用于监听事务相关的事件,以及TransactionDefinition和TransactionStatus接口,它们分别代表事务的定义...
PlatformTransactionManager 是整个事务控制的核心类,它会根据 TransactionDefinition 定义的事务属性创建事务。TransactionStatus 主要用于获取事务的当前状态。 在 Spring 事务管理中,事务的传播性是一个非常...
一般事务定义步骤: TransactionDefinition td = new TransactionDefinition(); TransactionStatus ts = transactionManager.getTransaction(td); try { //do sth transactionManager.commit(ts); } catch(Exception...