【问题标题】:CSActiveMQ CPP producer - can one session use multiple queues?CSActiveMQ CPP 生产者 - 一个会话可以使用多个队列吗?
【发布时间】:2019-10-17 16:12:14
【问题描述】:

在此处的问题和回复中:

ActiveMQ Producer Multiple Queues One Session

Java 解决方案涵盖了单个生产者向多个目的地发送消息的主题。

在 CPP/CMS 中可以做同样的事情吗?

我尝试使用 cms/activemq API 复制该代码,但是当我尝试将消息发送到不同的队列(目标)时,我收到错误消息,指出生产者只能发送到旧目标。

这里不写确切的代码就是流程...

  • 创建新工厂
  • 设置代理 URI
  • 创建连接
  • 连接开始
  • 创建会话
  • 使用临时队列创建 MessageProducer
  • 创建一个新队列
  • 使用会话创建消息
  • MessageProducer 使用新队列和消息发送

【问题讨论】:

  • 显示您的代码,以便我们查看它是否正确

标签: c++ activemq-cpp


【解决方案1】:

不清楚你的代码做了什么,因为你没有包含它,但考虑到最少的输入,我的猜测是你正在通过调用 session->createProducer 来创建一个固定的目标生产者(听起来像一个临时队列)。这会创建一个与该目的地终生结婚的生产者,并且需要调用发送目的地的发送方法。如果您想汇集一个生产者并发送到许多不同的地址,那么您需要使用NULL 目标创建它。

【讨论】:

  • 感谢蒂姆的回复。确实是这样,解决方案是根据您上面的答案创建一个目标为空的生产者。
  • 接下来,您可以指定一个队列/主题供生产者写入作为发送参数的一部分,但似乎消费者/接收没有类似物,或者我只是错过了吗?
  • 这对消费者来说没有意义,他们订阅一个目标地址,所以如果您需要更多订阅,只需创建更多。认为问题现在已经回答,请标记它以便其他人知道解决方案。
猜你喜欢
  • 2023-03-06
  • 1970-01-01
  • 2013-04-17
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-18
相关资源
最近更新 更多