Estou fazendo um exemplo com ejb, porem dá esse erro:
javax.naming.NoInitialContextException: Cannot instantiate class: org.jboss.security.jndi.JndiLoginInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.jboss.security.jndi.JndiLoginInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at Main.getInitialContext(Main.java:53)
at Main.main(Main.java:15)
Caused by: java.lang.ClassNotFoundException: org.jboss.security.jndi.JndiLoginInitialContextFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
... 6 more
Segue o a parte do codigo:
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import br.com.beans.Aluno;
import br.com.beans.Curso;
import br.com.interfaces.PacoteCursoRemote;
public class Main {
public static void main(String[] args) {
try {
InitialContext ctx = getInitialContext();
PacoteCursoRemote pacote = (PacoteCursoRemote)ctx.lookup("myEjb/PacoteCursoBean/remote");
System.out.println("Objeto pacote curso recuperado ...");
Aluno aluno = new Aluno("X","x");
pacote.setAluno(aluno);
Curso c1 = new Curso("TUML00", "UML", 20, 350.50F);
pacote.adicionarCurso(c1);
Curso c2 = new Curso("TOROBJ", "Orientação a Objetos", 8, 230.50F);
pacote.adicionarCurso(c2);
Curso c3 = new Curso("TEJBOO", "Enterprise JavaBeans", 20, 450.50F);
pacote.adicionarCurso(c3);
Curso c4 = new Curso("TJFUND", "Java Fudamentals", 20, 350.50F);
pacote.adicionarCurso(c4);
float total = pacote.calcularTotal();
System.out.println("TOTAL DO PACOTE = " + total);
System.out.println("Iniciar processo de compra...");
pacote.comprar();
} catch (NamingException e) {
e.printStackTrace();
}
}
private static InitialContext getInitialContext() throws NamingException {
Properties env = new Properties();
env.put(Context.SECURITY_PRINCIPAL, "guest");
env.put(Context.SECURITY_CREDENTIALS, "guest");
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
return new InitialContext(env);
}
}