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)

Другие вопросы по тегам