Ejb 3 local ou remote?

1 resposta
Malachai

Fala Pessoal,

Estou aqui com mais uma duvida de EJB3, na verdade ja esta tudo funcionando ainda bem!, nao sei se da melhor maneira, mas estou estudando isso ainda, a questão é mais conceitual. Passei boas horas pra fazer o lookup do EJB3 em um projeto .ear. Depois de muito tentar fazer o lookup com o ejb LOCAL e nao ter sucesso, foi so fazer com o REMOTE que funcionou, ai que fiquei perdido com esse conceito de EJB local e REMOTO, se o remoto eu acessei dentro do meu projeto, o que seria o local então? como poderia acessar ele pela JNDI ?

meu ejb tem as seguintes annotation:

@Stateless

@LocalBinding(jndiBinding=local/UsuarioService)

@RemoteBinding(jndiBinding=remote/UsuarioService)

public class UsuarioServiceBean implements UsuarioServiceRemote, UsuarioServiceLocal

na minha controller pego o ejb por um serviceLocator da seguinte forma:

UsuarioServiceRemote usuario = (UsuarioServiceRemote) ServiceLocator.getInstance().get(“remote/UsuarioService”);

Como vcs podem ver estou pegando o remoto, que esta dentro da minha aplicação, mas quando coloco o LOCAL nao funciona. Pelo que andei lendo eu uso LOCAL quando o EJB estiver dentro da minha JVM, e ele não esta?

Aproveitando o topico, qual a melhor maneira de trabalhar com EJB da forma que existam N projetos ?. Estava pensando em criar um projeto EJB com os EJB de todos esses projetos e cada projeto faz referencia ao projeto EJB. Isso seria um EAR?

abs!

1 Resposta

nbluis

Local apenas na mesma instância de VM.

Mesmo estando na mesma maquina, se não for o mesmo processo/instância deve ser acessado apenas por Remote.

Quanto a segunda pergunta, muita calma nessa hora.
Primeiro deve avaliar a necessidade desses ejb’s, ok ??

Esse modelo de EJB’s facades faz tudo era até bastante utilizado em EJB’s <= 2.x.
Totalmente sem contexto.

Descreva o seu uso dessa distribuição que talvez alguém possa te dar uma dica.

Criado 16 de outubro de 2007
Ultima resposta 16 de out. de 2007
Respostas 1
Participantes 2