【问题标题】:Unable to Initialize InitialContext in JBoss AS 7.1无法在 JBoss AS 7.1 中初始化 InitialContext
【发布时间】:2025-12-14 01:40:01
【问题描述】:

我无法初始化 InitialContext 并查找字符串。这是我的代码 sn-p :

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 为空,我收到异常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)

【问题讨论】:

    标签: jboss7.x initial-context


    【解决方案1】:

    您的类路径中似乎没有 InitialContextFactory 类。您需要的 jar 将位于 JBoss 安装的 bin/client 目录中。详情见此链接:https://docs.jboss.org/author/display/AS72/JNDI+Reference

    【讨论】: