- 对于read-only的真实理解:推荐帖子:http://www.iteye.com/topic/319768。read-only靠底层的jdbc驱动和数据库的支持。在大多数数据库系统下,只读事务里面是不可以修改数据,并且,在同一个事务里面同一个sql读出来的同一条记录是不会变化的,这是我们开启readonly最重要的原因:我们需要能够可重复读。 它是性能优化的推荐配置。
- 对于没有执行数据库操作的方法,而被Spring进行事务管理,同样会占用数据库资源。所以对于执行时间比较长的方法,比如要进行一些网络请求,最好不要进行事务管理,因为这样会长时间占用数据库连接资源,当并发量大的时候,会造成数据库连接被占尽,而其他请求则一直排队等候。
- 业务层中的方法调用抛出异常: 有时Spring出抛出这样的异常Transaction rolled back because it has been marked as rollback-only一般是由于一个server调用另一个server其中一个server抛出异常,虽然另一个server捕获了异常,但是以上异常同样会抛出,因为一个server抛出异常Spring认为拦截此server应该回滚,但是另一个server却捕获了异常不用回滚,但是Spring已经标记了需要回滚,所以会发生此类事情。
- 事务的传播属性
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
相关推荐
Spring声明式事务配置管理方法
spring声明式事务管理异常处理的测试
Java高级编程 实验报告 spring 声明事务 实验目的 掌握spring 声明式事务管理配置 实验环境 本实验采用本实验采用的eclipse或者 Myeclpse开发工具。Spring 4.0以上 Jdk1.7以上、oracle/mysql。
示例代码 博文链接:https://awaken2012.iteye.com/blog/1728283
spring声明式事务管理+jdbc+连接池 包内为代码,下载可直接执行。 一直用s2sh,感觉hibernate不好用,所以写了一个spring声明式事务管理+jdbc+连接池。
1.掌握Myeclipse的使用。 2.掌握spring框架和hibernate框架的使用。 3. 掌握整合spring和hibernate的持久化操作编程 4.掌握基于AOP的声明式事务编程...3.配置WEB-INF/applicationContext.xml提供基于AOP的声明式事务
使用@Transactional注解时,可以通过参数配置事务详情: 5.2.2 基于Annotation方式的声明式事务 * * * * * * * * 声明式事务管理 如何实现Spring的声明式事务管理? 5.2 声明式事务管理 Spring的声明式事务管理可以...
spring声明式事务管理_入门
Spring 的事务管理是 Spring 框架中一个比较重要的知识点,该知识点本身并不复杂,只是由于其比较灵活,导致初学者很难把握。本教程从基础知识开始,详细分析了 Spring 事务管理的使用方法,为读者理清思路。
spring声明式事务管理+jdbc+连接池.zip
本代码使用H2内存数据库演示spring事务使用,包括编程式事务,声明式事务@Transactional使用,自定义事务事务注解实现自定义事务管理器
Spring的声明式事务管理是采用AOP(Aspect-Oriented Programming,面向切面编程)实现的。在编程式事务管理中,各事务处理代码实际上是相似的,这就造成了代码重复;而且编程式事务管理会造成事务管理代码和被管理的...
spring3,hibernate4 配置声明式事务管理(annotation方式)
Spring框架的声明式事务管理是Java开发中的核心特性,它为高效且可靠的数据操作提供了强大支持。Spring通过@Transactional注解以及底层的AOP和代理机制实现了声明式事务。这个机制允许开发者通过简单的注解就能控制...
全面分析_Spring_的编程式事务管理及声明式事务管理.
全面分析_Spring_的编程式事务管理及声明式事务管理,本教程假定您已经掌握了 Java 基础知识,并对 Spring 有一定了解。您还需要具备基本的事务管理的知识,比如:事务的定义,隔离级别的概念,等等。本文将直接使用...
NULL 博文链接:https://konglx.iteye.com/blog/1836826
Xml文件配置实现声明式事务管理 Xml文件配置实现声明式事务管理
spring编程式和声明式事务管理,事务放在dao,存演示版本!懂!