问题标签 [activemq-cpp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1200 浏览

c++ - 我的 C++ ActiveMQ 客户端可以发送消息,但不能接收消息

我已经编译并运行了 ActiveMQ-CPP 2.2.1 Visual Studio 2005 项目。在控制台窗口中,它显示消息正在发送,尽管它们没有被接收。我可以使用 ActiveMQ-CPP 2.0.1 发送和接收消息,但不能使用 2.2.1。我是 ActiveMQ 的新手,甚至不知道从哪里开始进行故障排除。任何想法/建议/开始的好地方都会有很大的帮助。

如果有帮助,我正在使用 ActiveMQ 5.1.0 二进制文件。

提前致谢!

0 投票
3 回答
1221 浏览

c++ - 可以使用 ActiveMQ CPP Api 与 RabbitMQ Broker 对话吗?

我们有需要通过 RabbitMQ 代理发送消息的 C++ 软件,有人尝试过 ActiveMQ CPP lib (CMS) 向 RabbitMQ 代理发送/接收消息吗?

0 投票
2 回答
1567 浏览

c++ - HornetQ,消费者找不到队列

我正在尝试将 ActiveMQ-CPP 与 HornetQ 一起使用。我正在使用 ActiveMQ-CPP 捆绑示例,但我很难使用它。生产者的工作就像一个魅力,但消费者给了我以下信息:

* BEGIN SERVER-SIDE STACK TRACE
Message: Queue /queue/exampleQueue does not exist Exception Class
END SERVER-SIDE STACK TRACE *

FILE: activemq/core/ActiveMQConnection.cpp, LINE: 768
FILE: activemq/core/ActiveMQConnection.cpp, LINE: 774
FILE: activemq/core/ActiveMQSession.cpp, LINE: 350
FILE: activemq/core/ActiveMQSession.cpp, LINE: 281
Time to completion = 0.161 seconds.

问题是队列存在。该代码在 ActiveMQ+Openwire 上运行良好,但我对 HornetQ+STOMP 的运气并不好。

有任何想法吗?

0 投票
1 回答
543 浏览

c++ - ActiveMQ-cpp 和 stomp 的持久性问题

我在使用 ActiveMQ-CPP 和 stomp 协议创建持久的消费者和生产者时遇到问题。我正在尝试使用 stomp 连接到 HornetQ,并且能够在非持久状态下发送和接收消息。我尝试通过将其传递模式以及消息的 CMSDeliveryMode 设置为持久,并创建一个 DurableConsumer 而不是普通消费者,将生产者更改为持久。但是当我查看 JBoss JMX-Console 时,它​​们都被认为是非持久的(消息被归类为非持久的,消费者也被订阅为非持久的)。

我什至尝试了集成测试 StompDurableTest 并且只收到了 20 条消息中的 10 条(当消费者处于活动状态时发送的消息)。所以测试失败了。

由于集成测试不起作用,我猜它与 ActiveMQ-cpp 或 Stomp 配置有关,而不是代码。我是否缺少任何东西来启用耐用性?

提前致谢,

萨米人

0 投票
1 回答
3716 浏览

c++ - ActiveMQCPP connection.start() 挂断

如果重要的话,我正在使用 ActiveMQ CPP 5.2.3。

我有 JMS 生产者,它使用故障转移传输连接到 JMS 代理网络。当我调用 connection->start() 时,它会挂断(请参阅AMQ-2114)。

如果我跳过连接start()并调用 connection->createSession(),那么这个调用也会被阻止。

要求是我的应用程序将永远尝试连接到代理。

有什么建议/解决方法吗?

注意

这不是这里的重复,因为我在谈论 C++ 和嵌入式代理之类的解决方案,spring 在 C++ 中不可用。

0 投票
1 回答
287 浏览

c++ - ActiveMQ CPP 代理 URI 问题

我正在使用 ActiveMQ CPP 5.2.3。

我正在尝试添加transport.commandTracingEnabled=true到 tcp 传输层:

ActiveMQ 不接受它。

但是,使用一个 TCP 传输它可以正常工作:

0 投票
1 回答
1607 浏览

c++ - c++ ActiveMQ发送二进制消息

是否可以通过 activemq 发送包含二进制文件的字符串流?如果是这样,这是如何完成的?

我知道 activemq 的 Java 版本有一个称为 BlobMessage 或 StreamMessage 的功能,但是,这还没有在 c++ 版本中实现。我已经阅读了有关 BytesMessage 类的信息,但是我找不到任何好的 c++ 示例来实现它。

谢谢。

0 投票
1 回答
1739 浏览

c++ - Activemq-cpp BytesMessage

我正在使用 activemq-cpp,并且正在尝试使用 BytesMessage 发送二进制数据。我有一个生产者和一个消费者设置来发送和接收消息。连接和会话工作正常,因为我能够发布到主题并允许消费者使用 TextMessage 获取消息。验证连接性后,我将 TextMessage 实现更改为 BytesMessage。我现在遇到的问题是对 BytesMessages 进行转码并在收到消息后从消息中取出数据。

在我的制片人中,我有:

在我的消费者中,我有:

Producer 打印出大小为 3,这是正确的。但是消费者打印出一个大小为0,表示它没有读入之前正确写入的消息。这让我问,我做错了什么?

我试图在本地编写和阅读它,但我仍然无法这样做:

写入后的 cout 打印出 3,但读取后的 cout 仍打印出 0。

我没有正确写入数据吗?非常感谢正确方向的任何一点。谢谢!

0 投票
2 回答
1566 浏览

activemq - 如何确保从 ActiveMQ 代理中删除主题

我在 ActiveMQ 代理没有从它的内存中删除未使用的主题时遇到了一些问题。

目前,我们的系统旨在动态生成许多主题,并在运行时指定名称。这些主题在应用程序生命周期内存在,然后该主题的所有消费者和生产者都取消订阅它。然而,activemq 代理不会从其列表中删除这些主题(可从 Web 控制台查看)。

我已经编辑了默认配置文件代理来设置persistent="false" 和advisorySupport="false"。对我来说,这应该从经纪人那里删除主题,但我显然遗漏了一些东西。

任何人都可以帮忙吗?

0 投票
1 回答
134 浏览

activemq-cpp - ActiveMQ-CPP prefetchSize 3.2.2

到目前为止,我无法让预取大小起作用。

我试过了:

mySession->createQueue([quename]?consumer.prefetchSize=5);
tcp://localhost:61616?prefetchPolicy.all=5

我正在使用 cms::Connection 和 cms::Consumers。我是否必须切换到 activemq::core?

谢谢