0

对于有状态的 EJB,如果我使用 InitialContext.lookup(itsMappedName) 获取它的引用,对于 (InitialContext.lookup(itsMappedName)) 的每次调用,它将返回一个新的有状态 EJB 还是相同的有状态 EJB?

4

1 回答 1

0
public class SFEJB implements EJBRemote{
  //.....
}

public class Class1{
  void method1{
    InitialContext ctx = new InitialContext(env);            
    EJBRemote testEJB= (EJBRemote)ctx.lookup(mappedName#fullclassname);
    //.....
  }
}

我发现它将为每个 initialcontext.lookup(mappedName#fullclassname) 返回一个新的有状态 EJB (SFEJB)。
起初,我认为“有状态 EJB”中的“有状态”意味着对于同一个 Web 客户端,每次调用 initialContext.lookup(mappedName#fullclassname) 都会得到相同的有状态 EJB,但现在我知道“有状态”只是对于 testEJB 意味着,每个方法调用都会调用同一个 SFEJB 实例(因此处于一种状态)。
那么 testEJB 是 SFEJB 的 EJB Client 吗?(SFEJB记得testEJB)

于 2013-03-05T03:40:08.170 回答