Eu odeio JNDI e NoInitialContextException

1 resposta
a.gomes

Pessoal,

estou testando uns exemplos de EJB, do tipo alo mundo mesmo. e quando chega na hora do meu cliente chamar o meu bean olha o que eu recebo desses ingratos:

Exception in thread "main" 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(NamingManager.java:645)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at org.jboss.tutorial.stateless.client.Client.main(Client.java:12)

meu Cliente ingrato:

package org.jboss.tutorial.stateless.client;

import javax.naming.InitialContext;

import org.jboss.tutorial.stateless.bean.Calculator;

public class Client
{
   public static void main(String[] args) throws Exception
   {
      InitialContext ctx = new InitialContext();
      Calculator calculator = (Calculator) ctx.lookup("CalculatorBean/remote");

      System.out.println("1 + 1 = " + calculator.add(1, 1));
      System.out.println("1 - 1 = " + calculator.subtract(1, 1));
   }
}

meu bean ingrato:

import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.naming.NamingException;


@Stateless(name="CalculatorBean") 
public class CalculatorBean implements CalculatorRemote, CalculatorLocal
{
	public void bind() {
		InitialContext ctx;
		try 
		{
			ctx = new InitialContext();
			ctx.bind("CalculatorBean/remote", this);
		} 
		catch (NamingException e) 
		{
			e.printStackTrace();
		}
	}
	
   public int add(int x, int y)
   {
      return x + y;
   }

   public int subtract(int x, int y)
   {
      return x - y;
   }
}

se alguem puder ajudar, ganhará uma vaga o meu testamento. rsrs

Obrigado a todos.

Anderson Gomes.

1 Resposta

Rafael_Carneiro

Você precisa passar para o contexto as configurações do seu servidor: http://docs.jboss.org/ejb3/app-server/tutorial/webservice/jndi.properties

Criado 7 de fevereiro de 2009
Ultima resposta 7 de fev. de 2009
Respostas 1
Participantes 2