Alguém poderia me dar um exemplo de como instanciar um Stateless Session Bean através de um Servlet? Eu estou seguindo o tutorial da Sun mas não está funcionando.
Obrigado
Alguém poderia me dar um exemplo de como instanciar um Stateless Session Bean através de um Servlet? Eu estou seguindo o tutorial da Sun mas não está funcionando.
Obrigado
Olá, qual versão do EJB vc está usando ? Acredito eu que o erro deve ser no lookup. Coloque aqui o código, e servidor de aplicação que está utilizando, que o pessoal poderá lhe ajudar melhor.
Olá, qual versão do EJB vc está usando ? Acredito eu que o erro deve ser no lookup. Coloque aqui o código, e servidor de aplicação que está utilizando, que o pessoal poderá lhe ajudar melhor.
Estou usando EJB 3.0. Na verdade estou meio perdido. No tutorial diz o seguinte:
@Remote
public interface Mensagem {
public String getMensagem();
}
@Stateful()
public class MensagemBean implements Mensagem {
public String getMensagem() {
return “Teste”;
}
}
public class Cliente {
@EJB
private static Mensagem mensagem;
public String getMensagem() {
return mensagem.getMensagem();
}
}
Esta estrutura está no tutorial Java EE que baixei no site da Sun. Porém, não funciona, fica dizendo que precisa implementar EJBObject, SessionBean, etc. Aí procurei na internet e a coisa é bem mais complexa:
O cliente precisa fazer tudo isso:
InitialContext ctx = new InitialContext();
Object obj = ctx.lookup(“MensagemBean”);
MensagemHome home = (MensagemHome)PortableRemoteObject.narrow(obj, MensagemHome.class);
Mensagem remote = home.create();
Qual é a maneira correta de usar Bean? Porque no tutorial é muito mais simples, porém não compila no Eclipse?
http://docs.jboss.org/ejb3/app-server/tutorial/
Tente o tutorial do JBoss… vc precisa herdar de EJBLocalObject e etc, só com EJB 2, com EJB 3 é esse o caminho mesmo !
Good Luck !
Quer dizer que com EJB 3.0 é só usar @Remote, @Stateless, @EJB, etc?
sim…
e no caso do servlet, vc precisa dar um lookup… os @EJB só funciona dentro de outros EJBs
Consegui, só que precisei colocar o mappedName na diretiva Stateless, sendo que uso GlassFish e não JBoss:
@Stateless(mappedName = “Login”)
Muito obrigado.