`
hotice
  • 浏览: 1567 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

请教下spring的事务管理问题

阅读更多
刚使用SPRING,在程序中使用了事务管理。
下面是在SimpleService里调用的addError()方法,在2出产生的异常并没用回滚1处的数据,希望各位指导下哪里出了问题,谢谢
public void addError() throws Exception {
SimpleDao dao = new SimpleDao(getDataSource());
         dao.addRightInfo();//1---插入正确记录
dao.addErrorInfo();//2---插入错误记录


PS:在dao中使用的是NamedParameterJdbcTemplate类操作数据,是否数据已经提交无法再回滚了?

下面是主要的配置
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean name="transactionInterceptorBeanGroup"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>

<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>simpleService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptorBeanGroup</value>
</list>
</property>
</bean>
<bean id="simpleService" class="test.SimpleService">
<property name="dataSource" ref="dataSource" />
</bean>




分享到:
评论
4 楼 hotice 2008-03-06  
ddandyy 写道
汗.......
建议你好好看看spring的手顺..........

3楼的写法是错的 最少那里的效果和你想要的效果是不一样的 1楼的对
只是下面那个bean那里定义的有问题 你没有把server声明成事务


你的意思是
<bean id="simpleService" class="test.SimpleService">
<property name="dataSource" ref="dataSource" />
</bean>
这里没有声明么,但<property name="beanNames">
<list>
<value>simpleService</value> </list>
</property>
是不是已经把这个bean纳入到事务管理了?不对的话麻烦举个例子哈,谢谢!
3 楼 ddandyy 2008-03-06  
汗.......
建议你好好看看spring的手顺..........

3楼的写法是错的 最少那里的效果和你想要的效果是不一样的 1楼的对
只是下面那个bean那里定义的有问题 你没有把server声明成事务
2 楼 hotice 2008-03-06  
zdllionheart 写道
你的异常被捕获了..

改了下,以前是直接抛出的Exception,是不是抛出特定异常才会回滚?
我这样设过,还是没办法回滚,谢谢
<bean name="transactionInterceptorBeanGroup"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>

<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED,PROPAGATION_SUPPORTS,-Exception</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,PROPAGATION_SUPPORTS,-Exception,-ServletException,-UncategorizedSQLException</prop>
</props>
</property>
</bean>
1 楼 zdllionheart 2008-03-06  
你的异常被捕获了..

相关推荐

    请教:spring事务不起作用

    在Spring框架中,事务管理是...解决这类问题需要从各个角度排查,确保每个环节都符合Spring事务管理的要求。对于具体的代码问题,建议参考官方文档、相关教程和社区讨论,如给出的博客链接,来获取更详细的解答和示例。

    ssm框架集成多数据源源码

    - 在多数据源的场景下,Spring通过DataSource接口管理多个数据源,可以配置不同的数据源bean,使得不同的业务模块能够连接到对应的数据库。 2. **SpringMVC的角色**: - SpringMVC作为Spring的Web模块,主要负责...

    ssm实战项目米米商城

    7. **事务管理**:理解Spring的声明式事务管理,如何在需要的地方开启和提交事务。 8. **权限控制**:实现基于角色的访问控制(Role-Based Access Control, RBAC),对用户操作进行权限校验。 9. **页面模板**:使用...

    基于ssm+mysql的考研指导平台源码数据库论文.doc

    - 后台管理设计:后台界面用于系统管理,系统管理员负责全局,站内信息管理包括公告发布等,考研资源模块管理上传与审核,教师指导管理处理请教问题,交流沟通管理监控论坛活动。 - 数据库设计:MySQL数据库用于...

    【精选模板】计算机实习日记三篇.pdf

    Spring框架提供了IOC(控制反转)和DI(依赖注入),简化了对象的管理和事务处理,并引入了AOP,用于处理横切关注点,如日志、安全等。Hibernate作为ORM(对象关系映射)框架,使得开发者可以使用面向对象的方式来...

    Java 简单的SSH框架 搭建

    Spring还包含了数据访问、事务管理、Web应用以及更多的功能模块。 **Struts框架**: Struts是MVC(Model-View-Controller)设计模式的实现,主要用于控制应用程序的流程。它负责接收HTTP请求,调度业务逻辑,处理...

    实用计算机实习日记三篇.docx

    Struts是MVC设计模式的实现,负责表示层,Spring则处理业务逻辑层,提供了ICO(控制反转)和AOP(面向切面编程),并支持事务管理和与其他框架的集成。Hibernate作为持久层框架,实现了对象与关系数据库之间的映射,...

    雷の龙邮件列表

    通过这种形式,开发者可以向同行请教问题,分享代码示例,讨论最新趋势,甚至合作开发项目。邮件列表的开放性使得信息共享变得容易,同时也可以形成持久的技术档案,供后来者查阅。 提到"dsmaiil"这个文件,这可能...

    Java面试考核目标.docx

    - **考核点**:熟悉企业常用技术栈(如Spring、MySQL、MQ、Redis等),了解微服务架构、分布式事务处理、高并发场景下的解决方案。 - **考核基准**: - 初级:了解Spring框架的基本用法,能够使用MySQL进行简单CRUD...

    itcaststore.zip

    EJB提供了事务管理、安全性、容错性等功能,而JPA则让开发者能以面向对象的方式操作数据库。 7. **Maven或Gradle构建** 项目可能采用Maven或Gradle作为构建工具,管理项目依赖和构建流程。`pom.xml`(Maven)或`...

    J2EE入门学习方法指导

    JNDI(Java Naming and Directory Interface)与EJB(Enterprise JavaBeans)结合使用,EJB是J2EE中的企业级组件,用于处理分布式计算和事务管理。 学习EJB时,可以参考《精通EJB》一书。同时,理解并运用设计模式...

Global site tag (gtag.js) - Google Analytics