1

我无法初始化InitialContext和查找字符串。这是我的代码片段:

java.util.Hashtable env = new java.util.Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.remote.client.InitialContextFactory");
env.put("java.naming.provider.url","remote://localhost:4447");
env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
try
  {    
    if(env != null)
      ic = new InitialContext(env);
    else
      ic = new InitialContext();

this.connectionFactory = (ConnectionFactory)ic.lookup("java:/ConnectionFactory");
this.queue = (javax.jms.Queue)ic.lookup("java:jboss/exported/jms/queue/test");

}catch(Exception e){
e.printStackTrace();
}

总是ic为空,我得到 Exception NullPointer Exception。谁能告诉我我做错了什么或任何配置?任何建议/意见都是可以接受的。

编辑:1

20:19:01,678 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)
javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory 
org.jboss.naming.remote.client.InitialContextFactory from classloader 
ModuleClassLoader for Module "deployment.TRH_SAS_V2.war:main" from Service Module 
Loader
20:19:01,682 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) 
at  org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)

20:19:01,684 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)

20:19:01,686 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)

20:19:01,688 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.naming.InitialContext.init(Unknown Source)

20:19:01,690 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.naming.InitialContext.<init>(Unknown Source)
4

1 回答 1

0

看起来您的类路径中没有 InitialContextFactory 类。您需要的 jar 将位于 JBoss 安装的 bin/client 目录中。有关详细信息,请参阅此链接:https ://docs.jboss.org/author/display/AS72/JNDI+Reference

于 2013-12-20T01:09:52.653 回答