对于有状态的 EJB,如果我使用 InitialContext.lookup(itsMappedName) 获取它的引用,对于 (InitialContext.lookup(itsMappedName)) 的每次调用,它将返回一个新的有状态 EJB 还是相同的有状态 EJB?
问问题
352 次
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 回答