2010-01-04 14 views
9

Cuando ejecuto una aplicación relacionada con JMS, encuentro el siguiente error de excepción.Excepción: Necesito especificar el nombre de clase en el entorno o en la propiedad del sistema: java.naming.factory.initial

javax.naming.NoInitialContextException: necesidad de especificar el nombre de clase en el medio ambiente o sistema de propiedad, o como un parámetro del applet, o en un archivo de recursos de aplicación: java.naming.factory.initial

Estamos utilizando Sun Application Servidor 9.1

¿Alguna idea de lo que nos falta?

ya he intentado añadir el siguiente resultado, pero sigue siendo el mismo

Properties env = new Properties(); 
    env.put("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory"); 

    Context ctx = new InitialContext(env); 
+2

No es un duplicado completo: los detalles de las propiedades para establecer para este servidor de aplicaciones no se proporcionan allí. A primera vista, el que pregunta está haciendo lo que se recomienda y es consistente con los documentos de Sun. – djna

+0

No es un duplicado completo. Necesitas poner el archivo jndi.properties en classpath. Para más información, utilice el siguiente enlace. https://cwiki.apache.org/confluence/display/qpid/How+to+Use+JNDI Especifique su nombre de fábrica y el nombre de la cola. Debería funcionar bien –

Respuesta

3

Estaba enfrentando el mismo problema mientras trabajaba con la primavera & weblogic. Lo resolví estableciendo dos propiedades

System.getProperties(). Put ("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory"); System.getProperties(). Put ("java.naming.provider.url", "t3: // localhost: 80")

6

Un error muy común puede ser que no haya agregado el jboss-client.jar ! o jar alternativa si usa weblogic.

Cuestiones relacionadas