Spring事务传播机制
2016-05-31 16:19
281 查看
readOnly
事务属性中的readOnly标志表示对应的事务应该被最优化为只读事务。这是一个最优化提示。在一些情况下,一些事务策略能够起到显著的最优化效果,例如在使用Object/Relational映射工具(如:hibernate或TopLink)时避免dirty
checking(试图“刷新”)。
Timeout
在事务属性中还有定义“timeout”值的选项,指定事务超时为几秒。在JTA中,这将被简单地传递到J2EE服务器的事务协调程序,并据此得到相应的解释。
事务属性中的readOnly标志表示对应的事务应该被最优化为只读事务。这是一个最优化提示。在一些情况下,一些事务策略能够起到显著的最优化效果,例如在使用Object/Relational映射工具(如:hibernate或TopLink)时避免dirty
checking(试图“刷新”)。
Timeout
在事务属性中还有定义“timeout”值的选项,指定事务超时为几秒。在JTA中,这将被简单地传递到J2EE服务器的事务协调程序,并据此得到相应的解释。
事务传播行为类型 | 说明 |
PROPAGATION_REQUIRED | 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 |
PROPAGATION_SUPPORTS | 支持当前事务,如果当前没有事务,就以非事务方式执行。 |
PROPAGATION_MANDATORY | 使用当前的事务,如果当前没有事务,就抛出异常。 |
PROPAGATION_REQUIRES_NEW | 新建事务,如果当前存在事务,把当前事务挂起。 |
PROPAGATION_NOT_SUPPORTED | 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 |
PROPAGATION_NEVER | 以非事务方式执行,如果当前存在事务,则抛出异常。 |
PROPAGATION_NESTED | 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 |
相关文章推荐
- java运算符和表达式
- commons-lang包的StringUtils.split()和jdk自带split()的区别
- java实现汉字字典
- springmvc quartz maven web
- Atomikos 分布式数据源,spring,mybatis
- JAVA类加载机制全解析
- java遍历Map的四种方法
- 学习练习 java输入输出流 练习题1
- MAVEN项目后 jar包无法发布到eclipse的web服务器
- 【JUC】JDK1.8源码分析之ConcurrentLinkedQueue(五)
- 浅谈Java中强制类型转换的问题
- java之JFrame流式布局
- JAVA异常设计原则
- JAVA设计模式之单例模式
- java的各种类型转换全部汇总(推荐)
- Quartz与Spring集成 Job如何自动注入Spring容器托管的对象
- 如何将maven项目打包成可执行的jar
- java判断部署项目使用的服务器类型
- RocketMQ在windows上安装和eclipse开发使用
- Java Web应用程序实现基础的文件下载功能的实例讲解