Oi gente,
estou trabalhando na camada Locator e ví o seguinte método:
/**
*
* <b>Funcionalidade método:</b> TODO: Comentar funcionalidade do método
*
* @retur Interface EJB de Impressão de Pendencias de Formalização
*/
public SImprimirPendenciasFormalizacaoEJB getSImprimirPendenciasFormalizacaoEJB(){
try{
Object obj = super.getRemoteContext(SImprimirPendenciasFormalizacaoEJBHome.JNDI_NAME);
SImprimirPendenciasFormalizacaoEJBHome home = (SImprimirPendenciasFormalizacaoEJBHome) PortableRemoteObject.narrow(obj, SImprimirPendenciasFormalizacaoEJBHome.class);
return home.create();
} catch (Exception e) {
throw new RuntimeException(“Erro no lookup do serviço EJB de Impressão de Pendencias de Formalização.”, e);
}
}
}
O que é lookup de EJB?
2 Respostas
Não entendi muito bem o que você quer, a pergunta está muito vaga. Mas vamos lá…
Quando você tem um EJB ele pode ser local ou remoto. Você não pode chamar um EJB como uma classe comum, sendo assim ao invés de você fazer new MeuEJB você precisa pedir um bean ao container.
Assim o service locator é um atalho para você chamar seu bean, pois para você pedir ao container uma instancia de um EJB você precisa instanciar o InitalContext com os dados do container. Assim o service-locator nada mais é que uma classe “util” com essas chamadas já fixadas.
Apenas para complemetnar que o garcia-jj disse, o termo lookup é utilizado quando queremos localizar numa árvore de diretório (você pode encarar isso como uma página amarela), um determinado serviço disponibilizado pelo container.
No caso de seus EJBs, caso você esteja utilizando um container como o JBoss por exemplo, ficam disponibilizados na árvore JNDI. Portanto, para obter este serviço remoto, você necessita realizar o lookup dele, entendeu?
[]s