Fórum EJB - javax.naming.NoInitialContextException #442799
13/05/2013
0
Pessoal boa noite! Estou estudando EJB e ao realizar um teste de um apostila me deparei com o seguinte erro:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at br.com.dadose.Teste.main(Teste.java:34)
Tenho um projeto Web que contem a minha interface:
public interface LancadorDado {
int lanca();
}
e a minha classe que implementa a interface:
@Stateless
@Remote(LancadorDado.class)
public class LancadorDeDadoBean implements LancadorDado {
private Random geraRandom = new Random();
public int lanca(){
return this.geraRandom.nextInt(6) +1;
}
}
E tenho outro projeto com uma classe simulando acesso remoto através de um outro projeto tentando acessar o ejb:
public static void main(String[] args) {
InitialContext ic;
try {
ic = new InitialContext();
System.out.println();
LancadorDado lancadorDado = (LancadorDado) ic.lookup("java:module/LancadorDeDadoBean");
System.out.println(lancadorDado.lanca());
} catch (NamingException e) {
e.printStackTrace();
}
só que quando executo a classe main surge o erro conforme visto inicialmente, alguém sabe como eu posso resolver isso?
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at br.com.dadose.Teste.main(Teste.java:34)
Tenho um projeto Web que contem a minha interface:
public interface LancadorDado {
int lanca();
}
e a minha classe que implementa a interface:
@Stateless
@Remote(LancadorDado.class)
public class LancadorDeDadoBean implements LancadorDado {
private Random geraRandom = new Random();
public int lanca(){
return this.geraRandom.nextInt(6) +1;
}
}
E tenho outro projeto com uma classe simulando acesso remoto através de um outro projeto tentando acessar o ejb:
public static void main(String[] args) {
InitialContext ic;
try {
ic = new InitialContext();
System.out.println();
LancadorDado lancadorDado = (LancadorDado) ic.lookup("java:module/LancadorDeDadoBean");
System.out.println(lancadorDado.lanca());
} catch (NamingException e) {
e.printStackTrace();
}
só que quando executo a classe main surge o erro conforme visto inicialmente, alguém sabe como eu posso resolver isso?
Ismael Oliveira
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)