对于有状态的EJB,如果我使用InitialContext.lookup(itsMappedName)获取它的引用,对于(InitialContext.lookup(itsMappedName))的每次调用,它将返回一个新的有状态EJB或相同的有状态EJB吗?
答案 0 :(得分: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客户端? (SFEJB记住testEJB)