giovedì 26 gennaio 2012

LookUp Ejb iniettati tramite DI

Se non è specificato un name particolare per un Ejb iniettato con l'annotation
@Ejb allora il nome di default sarà:

<package name>.<ClassName>/<variableName>

Es:

@Stateless
@Local(com.enthu.ejbplus.TellerLocal.class)
public class TellerBean implements com.enthu.ejbplus.TellerLocal {

  @EJB
   com.enthu.ejbplus.ManagerLocal manager;
   //...  altro codice valido


}


Per recuperare l'EJB se disponiamo dell' InitialContext faremo quindi:

ManagerLocal manager = (ManagerLocal) ctx.lookup("java:comp/env/com.enthu.ejbplus.TellerBean/manager");

Se invece abbiamo l'EJBContext associato al bean sarà sufficiente fare:

ManagerLocal manager = (ManagerLocal) sessionContext.lookup("com.enthu.ejbplus.TellerBean/manager");

senza quindi anteporre java:comp/env

Nessun commento:

Posta un commento