【发布时间】: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 上公开此队列? 感谢您的回复。
【问题讨论】: