EJB事务属性的六个关键值Java认证考试

文章作者 100test 发表时间 2010:01:02 16:11:41
来源 100Test.Com百考试题网


  EJB事务属性可以是如下几个值之一:
  ◆Required
  ◆RequiresNew
  ◆Mandatory
  ◆NotSupported
  ◆Supports
  ◆Never
  1、Required
  如果客户端正运行在某个EJB事务中运行,且调用了EJB中的方法,则该方法在客户端的EJB事务中运行。如果客户端没有与某个EJB事务相关联,则容器在运行方法前先启动一个新EJB事务。Required属性适合绝大多数EJB事务,建议把它设置成默认的,至少在开发阶段。EJB事务属性是声明式的,后期也可以很容易的修改。
  2、RequiresNew
  如果客户端运行在某个EJB事务中,并且调用了EJB中的方法,则容器将采用如下操作:
  (1) 挂起客户端EJB事务
  (2) 启动一个新EJB事务
  (3) 把调用委派给方法
  (4) 方法执行完毕之后,回复客户端EJB事务
  如果客户端没有与某个EJB事务相关联,则容器在运行方法前先启动一个新EJB事务。如果确保方法始终在一个新EJB事务中运行,应该使用EJB事物属性中的RequiresNew属性。
  3、Mandatory
  如果客户端运行在某个EJB事务中且调用了EJB中的方法,java认证网,加入收藏则该方法运行在客户端EJB事务中。如果客户端没有与某个EJB事务相关联,则容器抛出 TransactionRequiredException.如果EJB中的方法必须使用客户端的EJB事务,则应该使用EJB事物属性中的 Mandatory属性。
  4、NotSupported
  如果客户端在某个EJB事务中运行且调用了EJB中的方法,则容器先挂起客户端EJB事务,调用方法结束之后回复客户端EJB事务。如果客户端没有与某个 EJB事务相关联,则容器在运行方法前不启动EJB事务。对于不需要EJB事务的方法,可以考虑该属性。EJB事务需要一定的开销,EJB事物属性中的 NotSupported属性可以提高性能。
  5、Supports
  如果客户端运行在某个EJB事务中且调用了EJB中的方法,则该方法运行在客户端的EJB事务中。如果客户端没有与某个EJB事务关联,则容器运行方法前不启动新的EJB事务。
  6、Never
  如果客户端运行在某个EJB事务中且调用了EJB中的方法,则容器抛出RemoteException异常。如果客户端没有与某个EJB事务关联,则容器运行方法之前不启动新的EJB事务。

相关文章


浅谈JDBC的概念理解与学习Java认证考试
浅析Swing客户端知识Java认证考试
介绍Swing线程相关处理Java认证考试
jBPM4与Spring整合的2种方式Java认证考试
EJB事务属性的六个关键值Java认证考试
JSF开发问题和解决Java认证考试
Spring工作原理探秘Java认证考试
Ubuntu下Java环境的搭建Java认证考试
Java虚拟机概念及体系结构详述Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛