首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB容器管理事务执行

EJB容器管理事务执行
EN

Stack Overflow用户
提问于 2015-04-25 05:58:58
回答 1查看 63关注 0票数 0

在J2EE文档中写着,

尽管具有容器管理事务的bean需要较少的编码,但它们有一个限制:当一个方法正在执行时,它可以与单个事务相关联,也可以与根本没有事务相关联。

问题1.,但我理解的是,除非我们用NotSupported声明事务属性,否则当方法正在执行时(假设使用默认的必需属性),它保证了在事务中运行的方法,对吗?

此外,我还需要知道,假设容器管理器事务在伪代码下面出现了默认的必需属性,

代码语言:javascript
复制
class bean1{
 public void m1(){
    bean2.m2();
 }
}

class bean2{
 public void m2(){
 }
}

**问题2.**在本例中,m2()在bean2中是在新事务中运行还是在bean1中的m1()在同一事务下运行?

EN

回答 1

Stack Overflow用户

发布于 2015-04-25 23:21:59

问题1.但我所理解的是,除非我们用NotSupported声明事务属性,否则当方法正在执行时(假设使用默认的必需属性),它保证了在事务中运行的方法,对吗?

是的,容器管理事务的默认设置是必需的,如果事务不存在,它将启动事务。您引用的段落有些不寻常(显然要么存在一个事务,要么不存在),所以我缺少上下文来给出更完整的解释。

问题2.在这种情况下,m2()在bean2中是在一个新的事务中运行,还是在bean1中的m1()在相同的事务下运行?

假设它们都是EJB,并且没有应用其他事务属性(即,两个EJB方法都使用默认的必需属性),那么这两个方法将使用相同的事务。所有事务属性的语义都在TransactionAttributeType的javadoc中进行了简洁的描述。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29861589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档