Estou começando a trabalhar com EJB, estou utilizando o sdk5.0, Netbeans4.1ea2 e o Sun Java System Aplicattion Server 8.1… Eu criei meu EJB e tento chamá-lo num programa cliente e ocorre o 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"
Como faço conseguir rodar o meu ejb?
opa…
vc precisa fazer o Naming… q é com isso q seus EJBs ficarao disponiveis…
um tutorial legal pra quem ta começando com EJB é: http://www.j2eebrasil.com.br/jsp/tutoriais/tutorial.jsp?idTutorial=010_001
abraços
Como faço para fazer o naming, pode me dar um exemplo?
Hashtable props = new Hashtable();
prop.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
prop.put(InitialContext.PROVIDER_URL, "jnp://localhost:1099");
InitialContext ctx = new InitialContext(props);
// agora eh soh fazer lookup
SeuBeanHome home = (SeuBeanHome) ctx.lookup(<JNDI_NAME_DO_BEAN>);
Acho q isso deve solucionar o seu problema
Cara, o bizu pra vc entender ejb, na minha opinião, começa em estudar os tipos de ejb (session, entity e message driven - o entity é o mais paulada, disparado!) e tbm as interfazes (local, home, remote, bla bla bla) :razz: