论坛首页 Java企业应用论坛

关于EJB事务管理之惑

浏览 2678 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-19  
  目前有一个北美外包项目即将启动,关于金融行业。采用EJB2开发,各技术环节也都基本确认,唯独在事务管理方面产生了一些分歧和疑惑,查阅了很多资料不得其解。思来想去还是来发个帖子寻求一下达人的帮助。

    注:数据库操作直接采用JDBC编程,没有用到具体的框架。

  问题有二

  一、EJB事务配置是由Container来管理,那么在DAO层发生异常的时候是否还需要程序员处理事务,也就是说是否还需要自己操作Connection的回滚。

  二、EJB事务配置同样是由Container来管理,是否还需要在EJB中操作SessionContext.setRollbackOnly(),或者说这样操存在什么样的好处或者弊端。


  先谢谢大家了。  
 
   发表时间:2007-11-19  
:)
给指条明路啊
0 请登录后投票
   发表时间:2007-11-19  
一、采用容器管理数据源——即JNDI数据源,自然由容器负责回滚。DAO层发生异常的时候直接抛出给EJB即可
二、在EJB中,如果捕获DAO抛出的异常,有两种选择
    1、处理该异常,然后调用SessionContext.setRollbackOnly()回滚事务
    2、把该异常转换成RuntimeException继续抛出,容器负责回滚事务
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics