InitialContext.lookup(ejbMappedName) возвращает новый или старый экземпляр
Для статического EJB, если я получу его ссылку, используя InitialContext.lookup(itsMappedName), для каждого вызова (InitialContext.lookup(itsMappedName)) он вернет новый Stateful EJB или тот же EJB с состоянием?
1 ответ
public class SFEJB implements EJBRemote{
//.....
}
public class Class1{
void method1{
InitialContext ctx = new InitialContext(env);
EJBRemote testEJB= (EJBRemote)ctx.lookup(mappedName#fullclassname);
//.....
}
}
Я считаю, что он будет возвращать новый EJB с сохранением состояния (SFEJB) для каждого initialcontext.lookup(mappedName#fullclassname).
Сначала я думаю, что "Stateful" в "Stateful EJB" означает для одного и того же веб-клиента, я получу один и тот же EJB с сохранением состояния для каждого вызова initialContext.lookup(mappedName#fullclassname), но теперь я знаю, что "Stateful" просто означает для testEJB, каждый вызов метода будет вызывать один и тот же экземпляр SFEJB (то есть в состоянии).
Таким образом, testEJB является EJB-клиентом SFEJB? (SFEJB запомни testEJB)