Instanciando InitialContext GlassFish - JNDI

2 respostas
Z

Oi Pessoal tudo bem?
Estou com um problema a alguns dias, quando eu tento instanciar InitialContext gera essa exceção abaixo:

Classe

import java.util.Properties;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;
public class PropertiesWebContainer {

public Context getContextGlassFish() {

Properties props = new Properties();

props.setProperty(java.naming.factory.initial,

com.sun.enterprise.naming.SerialInitContextFactory);

props.setProperty(java.naming.factory.url.pkgs,

com.sun.enterprise.naming);

props.setProperty(java.naming.factory.state,

com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl);
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");

    props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
    

    InitialContext ic = null;
	try {
		ic = new InitialContext(props);
	} catch (NamingException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
    return ic;
}
	
public static void main(String[] args) {
	Context context = new PropertiesWebContainer().getContextGlassFish();
	if (context != null) {
		System.out.println("consegui");
	} else {
		System.out.println("não consegui");
	}
}

}

Exceção

Exception in thread main java.lang.ExceptionInInitializerError

at com.sun.enterprise.naming.SerialInitContextFactory.(SerialInitContextFactory.java:56)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:247)

at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)

at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)

at javax.naming.InitialContext.init(InitialContext.java:223)

at javax.naming.InitialContext.(InitialContext.java:197)

at PropertiesWebContainer.getContextGlassFish(PropertiesWebContainer.java:25)

at PropertiesWebContainer.main(PropertiesWebContainer.java:52)

Caused by: java.util.MissingResourceException: Cant find com.sun.logging.enterprise.system.util.LogStrings bundle

at java.util.logging.Logger.setupResourceInfo(Logger.java:1315)

at java.util.logging.Logger.getLogger(Logger.java:312)

at com.sun.logging.LogDomains.getLogger(LogDomains.java:240)

at com.sun.enterprise.util.ORBManager.(ORBManager.java:78)

 10 more

Estou usando as libs
appserv-rt.jar
appserv-launch.jar

Já li a referencia abaixo mas não estou conseguindo. Esse tutorial não fala nem as lib que tem q colocar no classpath.
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html

Alguém tem algum exemplo para isso, não estou fazendo isso para usar EJB e sim para conseguir um DataSource apenas preciso de um algo funcionando com InitialContext.

Obrigado!

2 Respostas

G

Amigo,
vc conseguiu fazer funcionar?
estou com o mesmo erro, vc pode me ajudar?
Obrigado.

Z

Giofranceno:
Amigo,
vc conseguiu fazer funcionar?
estou com o mesmo erro, vc pode me ajudar?
Obrigado.

Consegui sim vc tem q adicionar as bibliotecas certas do Glassfish no classpath do seu projeto. Eu n lembro mais as libs certas pra adicionar.

Se vc estiver usando o Eclipse, vc pode fazer assim:
Adicione o servidor Glassifish e configure ele para o seu projeto e consequentemente as libs do servidor vão estar no seu classpath.

Para adicionar um servidor é so usar um plugin do proprio glassfish e configurar um servidor no seu Eclipse.

Comenta ai pra dizer se conseguiu ou não pq eu preciso fechar esse Topico.

Criado 14 de outubro de 2009
Ultima resposta 26 de out. de 2010
Respostas 2
Participantes 2