O pq da excption no lookup do EJB?

4 respostas
fsfnit

Bom galera, eu estava tomando um toco (exception) ao tentar fazer um lookup em um EJB, porém resolvi colocando meu datasource como DefaultDS.

Pq que isso resolveu meu problema se eu estava fazendo lookup de um EJB remoto ?

Obrigado desde já pela atenção.

4 Respostas

E

Como você estava tentando fazer o lookup? com o Contexto EJB ou JDNI puro?
A classe que você estava tentando é gerenciada pelo container JEE? se estiver usando Contexto do EJB, é obrigatório que a classe seja gerenciada, caso contrario não.

coloca o código ai

fsfnit

ErickMacedo:
Como você estava tentando fazer o lookup? com o Contexto EJB ou JDNI puro?
A classe que você estava tentando é gerenciada pelo container JEE? se estiver usando Contexto do EJB, é obrigatório que a classe seja gerenciada, caso contrario não.

coloca o código ai

To fazendo pelo contexto, mas isso interfere no fato de colocar o datasource como DefaultDS ? Se sim pq ?

package wct;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
 
public class XptoTeste {
 public static void main(String[] args) {
    
  try {
   Context context= new InitialContext();
   //BookBeanRemote beanRemote = (BookBeanRemote) context.lookup(  BookBean.class.getSimpleName() + "/remote");
   BookBeanRemote beanRemote = (BookBeanRemote) context.lookup( BookBean.RemoteJNDIName );
   beanRemote.test();
  } catch (NamingException e) {
   e.printStackTrace();
  }
 }
}
felipeguerra

Esse teste só funcionará se estivesse rodando dentro do servidor de aplicação…stand alone, teria que passar os parâmetros para o contexto, por exemplo:

fsfnit

Pois é, o exemplo funciona numa boa. Eu criei um jndi.properties.

A minha dúvida é que antes me dava “naming exception”, ai somente alterei o datasource colocando p/ DefaultDS e funcionou.
Queria saber o pq funcionou ao alterar esse datasource, sacou ?

Criado 16 de março de 2012
Ultima resposta 16 de mar. de 2012
Respostas 4
Participantes 3