2013-03-04 2 views
0

Для statful EJB, если я получаю его ссылку с использованием InitialContext.lookup (itsMappedName), для каждого вызова (InitialContext.lookup (itsMappedName)), он будет вернуть новый Stateful EJB или тот же EJB с состоянием?InitialContext.lookup (ejbMappedName) возвращает новый экземпляр или старый такой же экземпляр

ответ

0
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» означает для одного и того же веб-клиента, я получаю тот же stateful EJB для каждого вызова initialContext.lookup (mappedName # fullclassname), но теперь я знаю «Stateful», это просто средство для testEJB, каждый вызов метода вызывает тот же экземпляр SFEJB (так что в состоянии).
Таким образом, testEJB является EJB-клиентом SFEJB? (SFEJB, помните testEJB)

+0

О, я нахожу более сложным, если ejb не имеет гражданства, тогда каждый раз, когда ctx.lookup (mappedName # fullclassname) возвращает тот же прокси !! есть ли ошибки ?? – user1169587

Смежные вопросы