【问题标题】:JMS producer/consumer for queue in JBOSS 7.1 FinalJBOSS 7.1 Final 中队列的 JMS 生产者/消费者
【发布时间】:2014-09-18 17:56:12
【问题描述】:

我无法为 JMS 队列创建生产者/消费者。我尝试使用端口 1099 和 4447。

private static InitialContext getInitialContext() throws NamingException {
        Properties p = new Properties( );
        p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
        p.put(Context.URL_PKG_PREFIXES," org.jboss.naming:org.jnp.interfaces");
        p.put(Context.PROVIDER_URL, "jnp://localhost:1099");

        return new javax.naming.InitialContext();

}

出现错误:无法连接到端口 1099。

谁能建议如何为 InitialContext 提供属性。

【问题讨论】:

  • p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");

标签: jboss jms


【解决方案1】:

一种可能性是您正在使用不依赖于消息传递模块的启动配置 - 默认standalone.xml 就是这种情况。您可以尝试使用 standalone-full.xml 启动服务器,以便首先运行消息传递。

【讨论】:

  • 谢谢科斯特亚。正如您所建议的,我通过 CMD standalone.bat --server-config=standalone-full.xml 启动服务器,但仍然显示错误 javax.naming.CommunicationException: Could not get connection to any of这些网址:localhost:1099 并且发现失败并出现错误:javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out]
【解决方案2】:

JBoss 7 中不再使用端口 1099 进行 JNDI 查找。它在以前的 JBoss 版本中被 JNP 项目使用。 JNP 项目已被 jboss-remoting-naming 项目所取代,该项目使用 4447 并且在配置 IntialContext 时可能需要其他属性。

有关如何使用新库的更多信息,请参阅Remote EJB invocations via JNDI - EJB client API or remote-naming project

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多