Comunidade,
Estou estudando EJB 3.0 e não consigo executar o “simples” programa para um stateless session bean. Abaixo as classes juntamente com o erro quando executo o cliente. Vocês poderiam me ajudar?
===============
package fontes;
import javax.ejb.Remote;
@Remote
public interface HelloWorldLocal {
public String hello();
}
==================
package fontes;
import javax.ejb.Stateless;
/**
- Session Bean implementation class HelloWorld
*/
@Stateless
public class HelloWorld implements HelloWorldLocal {
/**
* Default constructor.
*/
public HelloWorld() {
// TODO Auto-generated constructor stub
}
@Override
public String hello() {
System.out.println("Primeiro EJB Funcionando");
return "Hello, World!";
}
}
================
package fontes;
import javax.naming.*;
public class HelloClient {
/**
* @param args
* @throws NamingException
*/
public static void main(String[] args) throws NamingException {
// TODO Auto-generated method stub
try {
Context ctx = new InitialContext();
HelloWorldLocal hello = (HelloWorldLocal) ctx.lookup("fontes.HelloWorldLocal");
System.out.println(hello.hello());
}catch (NamingException ex) {
ex.printStackTrace();
}
}
}
==============
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 fontes.HelloClient.main(HelloClient.java:15)