在Spring中实现事务挂起 - 编程入门网
化为只读事务。这是一个最优化提示。在一些情况下,一些事务策略能够起到显著的最优化效果,例如在使用Object/Relational映射工具(如:Hibernate或TopLink)时避免dirty checking(试图“刷新”)。
在事务属性中还有定义“timeout”值的选项,指定事务超时为几秒。在JTA中,这将被简单地传递到J2EE服务器的事务协调程序,并据此得到相应的解释。 在Spring中实现事务挂起(4)时间:2011-04-23使用事务代理 在运行时,客户端将获取到“clinic”bean的引用,将其转换为Clinic接口,同时在它上面调用诸如loadPet或storePet之类的操作。这将隐式地使用在目标对象之前注册的“事务拦截器”检查Spring的事务代理;新的事务将被创建,然后调用将被委派给JdbcClinic目标方法。 图1说明了一个具有“advisor链”和终端目标的AOP代理的底层概念。其中,唯一的advisor就是将事务行为包装到目标方法的事务拦截器。这是在Spring的声明性事务功能的帮助下产生的基于代理的AOP(面向方面编程)。 图1. 具有“advisor链”和终端目标的AOP代理 例如,PetClinic web应用程序中的web层组件能够执行ServletContext查询操作来获取对Spring WebApplicationContext的引用,然后获得那里托管的“Clinic”bean:
在storePet()调用的开始,Spring的事务代理将隐式地创建一个事务。在storePet()调用返回时,将提交或回滚事务。默认情况下,任何RuntimeException或Error的抛出均会导致回滚。可以指定何时提交和何时回滚的实际规则:Spring的事务属性支持一个称为“回滚规则”的概念。 例如,我们可以引入一个检查性的PetClinicException,并告诉事务代理,在抛出该异常时执行进行回滚。 <prop key="load*">PROPAGATION_REQUIRED,readOnly,-PetClinicException</prop> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |