`
lunch
  • 浏览: 77145 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

关于EJB事务管理之惑

    博客分类:
  • Java
阅读更多
  目前有一个北美外包项目即将启动,关于金融行业。采用EJB2开发,各技术环节也都基本确认,唯独在事务管理方面产生了一些分歧和疑惑,查阅了很多资料不得其解。思来想去还是来发个帖子寻求一下达人的帮助。

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

  问题有二

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

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


  先谢谢大家了。  
 
分享到:
评论
2 楼 daquan198163 2007-11-19  
一、采用容器管理数据源——即JNDI数据源,自然由容器负责回滚。DAO层发生异常的时候直接抛出给EJB即可
二、在EJB中,如果捕获DAO抛出的异常,有两种选择
    1、处理该异常,然后调用SessionContext.setRollbackOnly()回滚事务
    2、把该异常转换成RuntimeException继续抛出,容器负责回滚事务
1 楼 lunch 2007-11-19  
:)
给指条明路啊

相关推荐

    EJB与事务 -详细描述EJB和事务

    在EJB中,事务管理是核心功能之一,确保了数据的一致性和完整性。事务是数据库操作的基本单元,确保一组操作要么全部成功,要么全部失败,避免数据的不一致。 事务的界定是定义事务的生命周期,包括开始、挂起、...

    EJB的事务属性

    总之,EJB的事务属性是Java EE平台为企业级应用提供的重要特性之一,它简化了事务管理,使开发人员能够专注于核心业务逻辑,而不必担心底层的事务控制细节。通过合理配置这些属性,可以显著提高应用程序的性能、可靠...

    ejb3.0 分布式事务

    EJB3.0中,事务管理分为容器管理的事务(CMT, Container-Managed Transactions)和 bean 管理的事务(BMT, Bean-Managed Transactions)。CMT是默认模式,由容器自动管理事务的开始、提交、回滚,开发者只需关注...

    EJB3-JBOSS7-分布式事务示例

    4. **容器管理的事务**:EJB3支持自动事务管理,可以通过`@TransactionAttribute`来定义事务的传播行为和隔离级别。 **JBoss AS7 (现为WildFly)** 是一个开源的应用服务器,它是EJB3规范的一个实现,提供了运行和...

    EJB实体Bean与事物管理

    **EJB实体Bean与事务管理** 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上的一个核心组件,用于构建可部署在服务器端的分布式应用程序。在EJB规范中,实体Bean(Entity Bean)是一种特殊类型的组件...

    ejb之实体Bean与cloudscape数据库事务处理代码

    2. 编程式事务管理:实体Bean可以使用 javax.ejb.EJBContext 接口的 setRollbackOnly() 方法来显式地指示事务回滚。但这通常是作为最后手段,因为声明式事务管理更符合EJB的无状态原则。 二、CLOUDSCAPE数据库 ...

    EJB方面 ejb pdf

    - **事务管理**:EJB支持容器管理和Bean管理两种事务模式。容器管理的事务(Container-Managed Transaction, CMT)由EJB容器自动控制,开发者无需显式编写事务代码,适用于大部分场景。Bean管理的事务(Bean-Managed...

    ejb实现的超市管理系统

    1. **事务管理**:EJB支持ACID事务,确保数据的一致性和完整性。 2. **安全性**:EJB提供内置的安全模型,可以限制对特定资源的访问,确保只有授权的用户和bean才能进行操作。 3. **可扩展性**:EJB可以在多服务器...

    实战EJB 实战EJB 实战EJB

    #### 三、实战EJB之二:开发会话Bean(无状态会话Bean) **什么是无状态SessionBean?** 无状态会话Bean是一种EJB组件类型,它不保留客户端之间的任何状态信息。每次客户端请求都会创建一个新的实例,这意味着每个...

    EJB教程,EJB参考书

    - **1.1.5 EJB容器提供者(EJB Container Provider)**:提供容器服务,这是EJB组件运行的环境,负责管理EJB组件的生命周期、提供服务如事务管理和持久化,并确保组件间的通信。 - **1.1.6 系统管理员(System ...

    EJB容器对bean的管理

    EJB容器在运行时提供了多种服务,如安全性、事务管理、生命周期管理以及资源管理等。以下将详细探讨EJB容器对bean的管理机制。 **实例池化** 实例池是EJB容器管理bean资源的一种策略,它类似于数据库连接池。通过...

    图书馆管理系统代码(Ejb3.0)

    4. **简化事务管理**:EJB3.0提供了一种更简单的事务管理方式,通过注解如`@TransactionAttribute`来控制事务的属性和行为。 5. **查询语言**:EJB3.0引入了JPQL(Java Persistence Query Language),这是一种面向...

    Weblogic Ejb 学习笔记

    - 容器管理的对象(CMO)特性,如事务管理、安全性、生命周期管理、并发控制等,为EJB开发简化了复杂性。 3. **EJB的生命周期** - EJB的生命周期包括创建、初始化、激活、被动化、钝化和销毁几个阶段。WebLogic ...

    ejb spring

    2. **Spring AOP与ejb事务管理**:Spring的声明式事务管理可以与ejb的事务管理相结合,提供更细粒度的事务控制。 3. **Spring与ejb的协作**:在某些场景下,会话bean可能只负责协调工作,而具体的业务逻辑由Spring...

    EJB_TEST自己编写的EJB例子

    **EJB(Enterprise ...综上所述,EJB_TEST是一个帮助学习者理解和实践EJB技术的示例项目,涵盖了EJB的基本概念、组件类型、生命周期、部署、通信、事务管理和安全性等方面,是深入理解Java企业级开发的宝贵资源。

    图书管理系统(strtust+EJB)

    总的来说,这个图书管理系统展示了如何利用Struts和EJB3.0构建一个实际的MIS系统,同时也涵盖了Java Web开发的多个重要方面,如MVC架构、持久化、事务管理和服务整合。对于学习和理解Java EE开发技术,以及提升实际...

    关于 EJB PPT 文档

    7. **EJB容器**:EJB容器负责管理Bean的生命周期、事务、安全性和资源管理等,使得开发者可以专注于业务逻辑,而不是底层的系统细节。 8. **EJB安全性**:EJB提供了角色和权限的管理,确保只有授权的用户或服务才能...

    EJB API中文版

    - **事务管理**:EJB容器提供了强大的事务支持,包括容器管理事务(CMT)和Bean管理事务(BMT),使得开发者无需关注底层事务细节。 - **安全性**:EJB容器还提供了安全性支持,如认证和授权机制,保护应用不受未授权...

    EJB基础(学习EJB者必看)

    EJB技术允许开发人员将业务逻辑封装在可重用的组件中,这些组件可以在受管环境中运行,由服务器管理生命周期、安全性、并发和事务处理。对于想要深入理解EJB的开发者来说,"EJB基础(学习EJB者必看)"这个资源应该涵盖...

    EJB方面相关详解

    EJB容器提供了强大的事务管理支持,它自动处理事务的开始、提交、回滚等操作,确保了业务逻辑中数据处理的原子性、一致性、隔离性和持久性(ACID属性)。开发者无需编写复杂逻辑来管理事务,这减少了错误发生的可能...

Global site tag (gtag.js) - Google Analytics