Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从运行在同一应用服务器上的应用程序中查找HornetQ实例?(AS7)(未能实例化InitialContextFactory)_Java_Jms_Jboss7.x_Jndi_Hornetq - Fatal编程技术网

Java 如何从运行在同一应用服务器上的应用程序中查找HornetQ实例?(AS7)(未能实例化InitialContextFactory)

Java 如何从运行在同一应用服务器上的应用程序中查找HornetQ实例?(AS7)(未能实例化InitialContextFactory),java,jms,jboss7.x,jndi,hornetq,Java,Jms,Jboss7.x,Jndi,Hornetq,我正在尝试订阅一个运行在JBossAS7服务器上的HornetQ实例。我已设法使用应用服务器外部的测试应用程序连接和发布/接收消息,但当我尝试运行部署在服务器内的类似示例时,在我的message subscriber类中创建InitialContext实例时出现以下异常: javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory org.jboss.naming.remot

我正在尝试订阅一个运行在JBossAS7服务器上的HornetQ实例。我已设法使用应用服务器外部的测试应用程序连接和发布/接收消息,但当我尝试运行部署在服务器内的类似示例时,在我的message subscriber类中创建
InitialContext
实例时出现以下异常:

javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory         org.jboss.naming.remote.client.InitialContextFactory from classloader ModuleClassLoader for     Module "deployment.Test.war:main" from Service Module Loader
  at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)
  at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:681)
  at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
  at javax.naming.InitialContext.init(InitialContext.java:242)
  at javax.naming.InitialContext.<init>(InitialContext.java:216)
  at uk.co.test.MessageSubscriber.startSubscription(MessageSubscriber.java:127)
  at uk.co.test.MessageSubscriber.access$0(MessageSubscriber.java:114)
  at uk.co.test.MessageSubscriber$1.run(MessageSubscriber.java:47)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:724)
当我远程连接到服务器时,上下文创建工作正常,因此我假设有一种不同的方法来发现我忽略的HornetQ。或者我在某个地方遗漏了一个依赖项,或者这是一个一般的配置问题……无论哪种方式,我都在努力寻找任何可以用来推动这一点的示例

知道我哪里出错了吗


谢谢。

我认为以下内容足以在本地连接:

InitialContext jndiContext = new InitialContext();
QueueConnectionFactory qf = (QueueConnectionFactory) jndiContext.lookup( "java:/ConnectionFactory" );
当连接工厂定义为

 <jms-connection-factories>
    <connection-factory name="InVmConnectionFactory">
       <connectors>
          <connector-ref connector-name="in-vm"/>
       </connectors>
       <entries>
          <entry name="ConnectionFactory"/>
       </entries>
     </connection-factory>
  </jms-connection-factories>

 <jms-connection-factories>
    <connection-factory name="InVmConnectionFactory">
       <connectors>
          <connector-ref connector-name="in-vm"/>
       </connectors>
       <entries>
          <entry name="ConnectionFactory"/>
       </entries>
     </connection-factory>
  </jms-connection-factories>