gpt4 book ai didi

java - 尝试将消息推送到 Activemq 时出现 NamingException

转载 作者:行者123 更新时间:2023-12-01 18:41:28 25 4
gpt4 key购买 nike

我尝试向 activemq 发布消息。但是我在 java 应用程序中遇到一个命名异常。这是代码如下

 Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
props.setProperty(Context.PROVIDER_URL,"tcp://localhost:61616");
InitialContext ctx = new InitialContext(props);
// get the initial context
// InitialContext ctx = new InitialContext();
QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
// create a queue connection
QueueConnection queueConn = connFactory.createQueueConnection();
// lookup the queue object
Queue queue = (Queue) ctx.lookup("nixon");

我收到三个警告以及以下一个这样的错误

 Exception in thread "main" javax.naming.NameNotFoundException: nixon
at org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.youtube.rest2.status.ProducerNewClient.main(ProducerNewClient.java:38)

谁能告诉我为什么会出现这个错误..?

最佳答案

您很可能会收到此错误,因为您尚未在 JNDI 配置文件中配置目标。您可以将这些定义添加到您的文件中,也可以使用 ActiveMQ 的动态目标功能。

为了使用基于 JNDI 的程序进行最简单的配置,有如下 2 个动态上下文

dynamicQueues
dynamicTopics

它允许您使用 JNDI 查找队列和主题,无需任何配置。

例如如果您使用以下名称来查找 JNDI动态队列/FOO.BAR

您将得到一个名为“FOO.BAR”的 ActiveMQQueue。

阅读JNDI Documentation请访问 ActiveMQ 站点了解更多信息。

关于java - 尝试将消息推送到 Activemq 时出现 NamingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19815699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com