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.