当前位置:  开发笔记 > 编程语言 > 正文

ActiveMQ:队列查找问题

如何解决《ActiveMQ:队列查找问题》经验,为你挑选了1个好方法。

我按照文档中的描述通过在activemq.xml(ActiveMQ版本5.2.0)中配置它来设置队列.


    
    

我正在尝试使用以下代码从java(在同一主机上)访问它:

Hashtable properties = new Hashtable();
properties.put(Context.INITIAL_CONTEXT_FACTORY, 
    "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
properties.put(Context.PROVIDER_URL, "tcp://localhost:61616");

context = new InitialContext(properties);

factory = (ConnectionFactory) context.lookup("ConnectionFactory");
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
queueName = "DUMMY"; // which can be either FOO.BAR or DUMMY
dest = (Destination) context.lookup(queueName);

我收到以下错误,虽然队列在jconsole中可见(Tree/org.apache.activemq/Queue):

javax.naming.NameNotFoundException: DUMMY

请告诉我我做错了什么.非常感谢!



1> James Strach..:

首先,您不必在代理中显式创建任何队列,尽管它没有任何损害.

此外,代理中可用的目标不会使用某种JNDI名称自动神奇地映射到JNDI上下文中.

您可以按此处所述明确执行此操作.如果您想要自动神奇的JNDI填充,那么使用dynamicQueues/DUMMY的JNDI命名约定作为您查找的JNDI名称(如动态创建目标中所述)

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有