sexta-feira, 4 de dezembro de 2009

[java-br] Lookup em um EJB Local

·

 

Bom dia,

eu tenho um módulo ejb onde eu criei um stateless session bean (usei a
anotação @Stateless) que implementa uma interface anotada com @Local.
Se eu de outro ejb do mesmo módulo chamar esse ejb através de uma
anotação @EJB beleza. Tudo funciona as mil maravilhas. Porém eu criei
nesse módulo uma classe simples (POJO) onde eu quero ter uma
referência desse session bean para executar alguns serviços. Para isso
eu fiz um lookup seguindo as especificações desse link:
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#POJOLocalEJB

Porém não consigo, sempre no momento do lookup eu recebo o erro de
NameNotFoundException. Eu já tentei colocar o nome JNDI de várias
formas, entre elas:
(lembrando que meu bean se chama MeuEjbBean e minha interface se chama
IMeuEjbLocal)

java:comp/env/MeuEjbBean
java:comp/env/IMeuEjbLocal
java:comp/env/nome.do.pacote.MeuEjbBean
java:comp/env/nome.do.pacote.IMeuEjbLocal

java:comp/env/ejb/MeuEjbBean
java:comp/env/ejb/IMeuEjbLocal (interface)
java:comp/env/ejb/nome.do.pacote.MeuEjbBean
java:comp/env/ejb/nome.do.pacote.IMeuEjbLocal

MeuEjbBean
IMeuEjbLocal
nome.do.pacote.MeuEjbBean
nome.do.pacote.IMeuEjbLocal

MeuEjbBean/local
IMeuEjbLocal/local
nome.do.pacote.MeuEjbBean/local
nome.do.pacote.IMeuEjbLocal/local

Não funcionou com nenhuma dessas formas, sempre o mesmo erro. Também
tentei colocar um nome usando a anotação @Stateless(name="blablabla",
beanInterface=FooLocal.class) e trocar todos os exemplos acima por
"blablabla", mas também não rolou.

Uma coisa curiosa é que se eu mudo a interface para @Remote ao invés
de @Local, funciona na boa! O lookup rola de primeira usando o JNDI
assim:

"nome.do.pacote.IMeuEjbLocal"

O que pode estar errado ou qual a forma correta de se fazer?

OBS: Não, eu não tenho um ejb-jar.xml pois eu uso EJB 3 e nunca
precisei criar esse arquivo, tanto que como Remote o lookup ocorre!
OBS2: Uso EJB3 e Glassfish.

grato.

Danilo G. Magrini

--
Danilo G. Magrini
danilo.magrini (AT) gmail (DOT) com
GPG Key: http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x3EAD0BBAFDE75A11
"Any fool can write code that a computer can understand. Good
programmers write code that humans can understand." (Martin Fowler)

__._,_.___
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog