spring 事务处理

问题描述

采用spring 的AOP来托管事务现在有以下步骤1.update语句2.调用某存储过程3.update语句现在在3执行错误后,2的存储过程已经把前面的事务commit了,导致错误.有没什么办法单独存储过程的事务,或者其他解决方法 问题补充: 由于业务原因没有办法修改存储过程,有没可能靠SPRING来实现.或者说是其他方法

解决方案

直接的话,存储过程里不要commit改造的话,最好全部操作都放到存储过程中,一会java一会procedure很烦的说。
解决方案二:
我还想不起来,你的存储过程就commit了,不在事务的控制范围内了。就没法回滚。还是建议该存储过程。把你的update1和2封装进去,要么全部代码实现!
解决方案三:
嗯,楼上说的很不错!

时间: 2024-10-30 11:11:55

spring 事务处理的相关文章

Spring事务处理及其AOP框架的内幕

Spring框架中成功吸引人的一点就是容器事务的管理,提供了一个轻量级的容器事务处理,针对的对象是普通的java类,使用Spring事务管理的话,你可以按照自己的业务把一些相关的方法纳入其事务管理里面,这就避免了程序员在处理事务的过程中繁琐的工作.同时这些也是ejb2.X规范里面吸引人的一点,这在spring里面都很好的提供.虽然在跨容器的事务管理,spring里面并没有提供,但是对于一般的web程序来说,也不需要仅仅为了那些功能而不得不使用ejb.不过,最近jboss的嵌入式的ejb容器也可以

Spring源代码解析(六):Spring声明式事务处理

我们看看Spring中的事务处理的代码,使用Spring管理事务有声明式和编程式两种方 式,声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码 中,使得事务管理代码和业务代码解藕.在这种方式我们结合IoC容器和Spirng已有的 FactoryBean来对事务管理进行属性配置,比如传播行为,隔离级别等.其中最简单的方 式就是通过配置TransactionProxyFactoryBean来实现声明式事物: 在整个源代码分析中,我们可以大致可以看到Spring实现声明式事物

《Spring技术内幕》——1.3节Spring的整体架构

1.3 Spring的整体架构 了解了Spring的设计理念之后,我们继续介绍Spring的整体架构.在Spring中,我们大致按照一个参考关系,将其划分为几个层次,比如IoC容器.AOP核心模块.封装的Java EE服务.作为中间的驱动组件.其他作为上层的应用,这些应用不但包括来源于社区的应用封装,如ACEGI,也包括使用Spring作为平台开发出来的各种类型的企业应用. 从技术上看,Spring是封装得很清晰的一个分层架构,可以参考如图1-4所示的Spring架构图. 在这个架构图中,我们可

spring 事务管理的问题

问题描述 各位大牛:spring事务处理的相关~~publicStringsaveSystem(Systemsystem){try{Systemtest=newSystem();test.setId("2");test.setName("2222");test.setDescription("fortest");this.addSystem(test);inti=9/0;this.addSystem(test);}catch(RuntimeExc

Spring提取@Transactional事务注解的源码解析

声明:本文是自己在学习spring注解事务处理源代码时所留下的笔记: 难免有错误,敬请读者谅解!!! 1.事务注解标签 <tx:annotation-driven /> 2.tx 命名空间解析器 事务tx命名空间解析器TxNamespaceHandler org.springframework.transaction.config.TxNamespaceHandler#init 3.AnnotationDrivenBeanDefinitionParser#parse 解析事务标签 (1).以下

java版云笔记(七)之事务管理

事务管理 事务:程序为了保证业务处理的完整性,执行的一条或多条SQL语句. 事务管理:对事务中的SQL语句进行提交或者回滚. 事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性,不出现脏数据. Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Da

项目中的一个AOP的编写案例(配置+案例)

AOP和Spring事务处理2008年05月01日 星期四 00:40二. AOP 1. AOP是什么? AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程.AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现. 2. 切面意义何在? 就可以在这层切面上进行统一的集中式权限管理.而业务逻辑组件则无需关心权限方面的问题.也就是说,通过切面,我们可以将系统中各个不同层次上的问题隔

spring-关于Spring父子容器的事务处理问题

问题描述 关于Spring父子容器的事务处理问题 10C 今天在看项目的配置,在SpringMVC(子容器)中不注解service,在父容器中不注解controller,网上搜了一下,引用原话是:_子容器对Controller进行扫描装配时装配了@Service注解的实例 (@Controller 实例依赖@Service实例),而该实例理应由父容器进行初始化以保证事务的增强处理_ 我的问题是:保证事务的增强处理是什么意思? 子容器是可以访问父容器的内容的吧,那么父容器做到的子容器也可以做到的应

spring入门(14)ssh中事务处理spring配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/t