`
sugongqing
  • 浏览: 77642 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

EJB事务处理

    博客分类:
  • DB2
阅读更多


在session bean中跨数据库的事务处理的解决,我又学习了一些资料,觉得在ejb中异常的处理还是有许多要注意的地方。
      在ejb中通常分两类异常,一类为系统异常,一类为应用程序异常(这里暂不包含JVM的 异常,对 JVM 异常我们一般也无能为力),对于应用程序的异常,ejb容器不会去自动处理,这就象我在上篇blog中说的,当我们在进行跨数据库操作时抛出了 SQLException异常,容器不会管,所以做不到事务的回滚,我们必须要手动的调用sessionContext的方法来让容器处理异常,达到事务 的一致性;而对于系统异常,ejb容器是会自动去处理的,即使我们对它进行了catch,ejb容器仍然会知道,会去处理,所以这给了我们处理跨数据库操 作维持事务的第二种方法,就是我们在ejb方法中捕获我们实际操作数据库的异常然后重新抛出一个系统异常,例如EJBException,这样容器就会察 觉接手处理,从而达到跨数据库事务的自动维护。在这里有个细节就是我要是在业务逻辑处理中抛出EJBException,而在ejb方法中手动进行了 catch,则此时容器是不会觉察到系统异常的,但如果我仍在dao中抛出ejbexception,我在session bean中调用它,竟然不用手写catch,容器会自动捕获进行处理,并且能做到事务的维护,当然我在dao中抛出一个ejbexception会显的极 不合适;所以最好还是在ejb方法中捕获dao抛出的应用程序异常,而在catch中抛出一个ejbexception,让容器去处理,事实上这时你是不 能再在ejb方法中去catch这个ejbexception了,容器不让你这样写代码。
      可见ejb容器的异常处理还是挺完备的(有点象废话),对于其完善的异常处理和声名性事务管理还要再学习学习。
慢慢发现ejb还是有很多值得学习和使用的地方,并非现在所谓的轻量级解决方案所说的一无事处,,关于其在分布式系统中的应用有时间真应该花点时间好好研究一下!!

分享到:
评论

相关推荐

    EJB的事务属性

    EJB 具有事务的处理属性

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

    j2ee1.3中实体Bean与之附带的数据库之间实现事务处理!

    EJB入门及高级特性

    轻松学会EJB,包括开发流程,事务处理,Entity基础和高级特性,Time Service,安全,Web Service,会话Bean,消息驱动bean,资源注入

    达内java软件工程师培训ejb的PPT

    EJB 在大型系统中的应用包括远程方法调用、负载均衡、透明的故障转移、后端集成、事务处理、集群、动态重新部署、清洁关闭、日志记录和审核、系统管理、线程处理、消息队列、对象生命周期管理、资源池、安全性和缓存...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    4.2.2 分布式事务处理、XA规范和 2PC协议 192 4.2.3 使用JTA全局事务保证多 数据库的一致性 193 4.3 事务隔离、传播属性的设置 198 4.3.1 并发访问和隔离 198 4.3.2 事务属性 199 4.4 EJB的事务管理 201 4.4.1 容器...

    Java EJB JTA JTS用法示例源代码.rar

    Java EJB JTA JTS用法示例源代码,例子对基于JTA的事务处理的实现进行了讨论,其中事务对象UserTransaction在EJB组件中执行,其实事务对象UserTransaction也可以在客户端使用。  J2EE包括了两套规范,用来支持...

    Java And 数据库事务

    事务,并发,隔离级别,JTA 事务,EJB,BMT,CMT,Spring,异常处理 异常处理还没有整理。 内容80%抄袭

    简易EJB3.0教程

    详细的介绍了EJB,entitybean,messagedriverbean messagebean,以及容器的用法,事务的处理

    Java中各种事务管理技术的总结

    内容包括事务及其控制的基本概念,Oracle中的事务处理,以及JDBC,EJB,JTA事务管理内容的总结,最后还介绍了事务管理的技巧,是了解和学习JAVA事务处理不可多得的第一手资料!

    EJB技术及应用(课件与练习)

     EJB (Enterprise Beans )是基于分布式事务处理的企业级应用程序的组件。 Sun公司发布的文档中对EJB的定义是: EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。

    EJB葵花宝典(题集)

    目录 1技术总述 7 2开发环境介绍 7 2.1搭建开发环境 7 2.2MyEclipse 10 3SessionBean(会话Bean) 18 3.1会话Bean调用架构 18 3.2会话Bean的客户 18 3.3会话Bean的组成 19 ...6EJB事务 76 7定时器 77 8拦截器 77

    eventos-javaee6:应用程序演示EJB事务的操作

    JavaEE6活动我们将演示维护干净代码以及如何使用... 例如,一个bean可以定义事件,另一个bean可以运行事件,另一个bean可以处理该事件。 无论bean位于哪个包或层中,在使用事件时都不会发生代码耦合。 在示例中,我们

    EJB3.0实例教程

    EJB3.0实例教程PDF 黎活名著 1.2 联系作者....................................................................................................................................................................

    系统分析员考试复习.doc

    ④ EJB Container是用于管理EJB Object的设备,它负责EJB对象的生命周期的管理,实现EJB对象的安全性,协调分布式事务处理,并负责EJB对象的上下文切换; ⑤ EJB规范提供了这样的一种机制,你可以通过在运行时设置...

    MDB 消息驱动Bean

    虽然MDB负责处理消息,但是由运行MDB的EJB容器负责处理服务(事务、安全、资源、并发、消息确认,等等),使bean开发者把精力集中在处理消息的业务逻辑上。传统的JMS应用程序必须定制地编写一部分这些服务。MDB在...

    简析J2EE应用程序中数据库类的设计模式

    这样开发人员就不必关心一些底层技术,比如事务处理,安全等各个方面,而是把重点放在怎样实现业务逻辑上。但是我们应该注意,如果开发的应用不是分布式的情况下,那么采用EJB有可能大大降低系统的性能。因为,EJB...

    JThink-FrameWork

    JThink包括以下几部分内容:资源管理,请求处理,事务处理,连接数据源,数据访问,EJB组件开发,EJB组件访问,日志处理等。 此版本是JThink框架的M7版,即第七次修定版本,在使用过程中发现有何问题或建议,请将问题...

    jsp应用开发源代码

    商业逻辑层 上一步将相应的事件数据传过来,最终调用EJB组件处理与数据库相关的业务逻辑,EJB组件实现了数据库处理及商业逻辑的具体封装、事务处理、引用完整性等 数据存取层 SQL Server JDBC driver APUSIC ...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.3 Java事务处理总结 1.4 JavaBean中使用JDBC方式进行事务处理 1.5 JSP 隐式对象简介 1.6 Java解析XML的四种方法 1.7 struts1和truts2比较 1.8 Tomcat5启动流程与配置详解 1.9 HttpServlet详解 1.10 Ant使用...

    JSP应用开发源代码

    并交给控制器类ShoppingClientController做出处理商业逻辑层 上一步将相应的事件数据传过来,最终调用EJB组件处理与数据库相关的业务逻辑,EJB组件实现了数据库处理及商业逻辑的具体封装、事务处理、引用完整性等...

Global site tag (gtag.js) - Google Analytics