2010-01-04 10 views
9

JMS ile ilgili bir uygulama çalıştırdığımda, aşağıdaki özel durum hatasıyla karşılaşıyorum.Özel Durum: Ortam veya sistem özelliğinde sınıf adı belirtmeniz gerekiyor: java.naming.factory.initial

javax.naming.NoInitialContextException: İhtiyaç ortamı veya sistem özelliğinde sınıf adı belirtmek için, ya bir uygulama parametresi, veya bir uygulama kaynak dosyasında gibidir: java.naming.factory.initial

Biz Sun Uygulamasını kullanan Sunucu 9.1

Neler olduğu hakkında bir fikrimiz var mı?

Zaten ekleyerek çalıştı aşağıdaki ancak sonuç yine aynı

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

    Context ctx = new InitialContext(env); 
+2

Tam bir çoğaltma değil: Bu uygulama sunucusu için hangi özelliklerin ayarlanacağını belirtin. İlk bakışta, sorgulayıcı, önerilenleri yapıyor ve Sun docs ile tutarlı. – djna

+0

Tam bir çoğaltma değil. Sınıf yolunda jndi.properties dosyasını koymanız gerekir. Daha fazla bilgi için aşağıdaki bağlantıyı kullanın. https://cwiki.apache.org/confluence/display/qpid/How+to+Use+JNDI Adlandırma fabrikanızın ve sıra adınızı belirtin. İyi çalışmalı. –

cevap

3

& weblogic ile çalışırken aynı problrm ile karşılaşıyordum. Bu iki özelliği

System.getProperties(). Ayarlayarak çözdüm ("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory"); System.getProperties(). Put ("java.naming.provider.url", "t3: // localhost: 80")

6

Çok sık görülen bir hata, jboss-client.jar dosyasını eklememiş olmanız olabilir. ! Weblogic kullanıyorsanız veya alternatif kavanoz.