【问题标题】:Sending message to an activemq queue created using camel将消息发送到使用骆驼创建的 activemq 队列
【发布时间】:2015-05-10 17:01:48
【问题描述】:

我是 activeMQ 的新手,我在将消息从驻留在另一台服务器上的消息生产者推送到由 activeMQ 定义的队列时遇到问题。

我在 activeMQ 上使用骆驼路由创建的应用程序中有几个队列。我正在尝试从另一台服务器上的应用程序对这些队列执行远程 JNDI 查找。我使用了来自http://activemq.apache.org/jndi-support.html页面的activemq文档中的sn-ps。

我可以连接到 activeMQ,但我无法查找使用骆驼路由定义的队列。

队列消费者是通过下面定义的骆驼路线创建的。 从(“jms:队列:APP.IF.JMS.OUTBOUND”) .... // 这个路由做了一些处理。

但是我没有在下面执行的查找中看到这个队列 -

    String destination = "APP.IF.JMS.OUTBOUND";
    ConnectionFactory cf = null;
    Destination dest = null;
    Context ctx = null;
    Properties params = new Properties();
    readProperty(params, Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory", false);
    readProperty(params, Context.PROVIDER_URL, "tcp://localhost:61616", false);
    readProperty(params, "queue.AS.IF.JMS.REQUEST",
     "AS.IF.JMS.REQUEST", false);

    ctx = new InitialContext(params);
    cf = (ConnectionFactory) ctx.lookup("ConnectionFactory");
    System.out.println(ctx.getEnvironment());
    dest = (Destination) ctx.lookup(destination);
    ..............

在此队列上完成查找时,最后一行失败。我确实在控制台上看到了这个。我是否缺少一些配置来在 JNDI 上公开此队列? 感谢您的回复。

【问题讨论】:

    标签: activemq jndi


    【解决方案1】:

    将您的 PROVIDER_URL 中的单词 localhost 更改为您的 machineName。 由于是远程操作,所以需要你的机器名。

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 1970-01-01
      • 2012-10-02
      • 2016-08-18
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      相关资源
      最近更新 更多