Duvida Jboss 6.0 com EJB

1 resposta
shenn

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);
	}

}

1 Resposta

shenn

Andei procurando na net e achei isso como resposta:

Esta exceção é lançada com o código do cliente JMS reside fora do servidor de aplicações JBoss. Para resolver, adicione o arquivo jar a seguir para o caminho de construção / classpath da aplicação:

% JBOSS_HOME% \ client \ jbossall-client.jar

porem eu ja tenho esse jar, e se substituo por outro da o mesmo erro

Criado 1 de fevereiro de 2012
Ultima resposta 1 de fev. de 2012
Respostas 1
Participantes 1