2016-07-07 7 views
0

JBossでJMSキューについて学習しようとしていますが、エラーが発生しました。私は、この行のエラーを取得しますhttps://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/JMS_Examples-A_Point_To_Point_Example.htmlJBoss AS 5.1 JMSキューNoInitialContextException

Object tmp = iniCtx.lookup("ConnectionFactory")

ここで完全なエラーがあります:

Jul 7, 2016 3:10:23 PM com.cloudlet.jms.SendRecvClient main 
INFO: Begin SendRecvClient, now = 1467918623762 
Jul 7, 2016 3:10:23 PM com.cloudet.jms.SendRecvClient sendRecvAsync 
INFO: Begin sendRecvAsync 
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial 
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) 
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) 
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) 
    at javax.naming.InitialContext.lookup(InitialContext.java:392) 
    at com.cloudlet.jms.SendRecvClient.setupPointToPoint(SendRecvClient.java:49) 
    at com.cloudlet.jms.SendRecvClient.sendRecvAsync(SendRecvClient.java:67) 
    at com.cloudlet.jms.SendRecvClient.main(SendRecvClient.java:106) 
Exception in thread "main" java.lang.NullPointerException 
    at com.cloudlet.jms.SendRecvClient.sendRecvAsync(SendRecvClient.java:71) 
    at com.cloudlet.jms.SendRecvClient.main(SendRecvClient.java:106) 

私のコードは、1つのとまったく同じである私は、このページのチュートリアルを、以下のいリンクが提供されます。私はそれを見て、私はいくつかjndi.propertiesファイルがJBossのフォルダ内に必要と知っていた。残念ながら、そのファイルはJBossフォルダにありません。私はそれがどのように見えるかについていくつかの例を調べましたが、すべての例が異なっていました。

どうすればこの問題を解決できますか?前もって感謝します!

答えて

0

Propertiesオブジェクトを必要なキーと値のペアで手動で作成し、それをInitialContextコンストラクタに渡して修正しました。

JBossのプロパティ:

Properties properties = new Properties(); 
properties.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
properties.put("java.naming.provider.url", "jnp://localhost:1099"); 
properties.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); 

InitialContext context = new InitialContext(properties); 

私は、開口部のポストで提供されたリンクから、同じ出力を得ます。