问题标签 [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.
c++ - ActiveMQ 线程安全吗?
我们想在同一进程的不同线程上运行我们的cms::MessageConsumer
和。cms::MessageProducer
我们如何安全地做到这一点?
拥有两个cms::Connection
对象和两个cms::Session
对象,消费者和生产者各一个,是否足以保证安全?这是必要的吗?
静态库级别的对象之间是否存在阻止这种使用的共享状态?
activemq - 使用 CMS 的 ActiveMQ 多主题
我试图通过为每个主题创建单独的会话来在同一连接中创建多个主题。主题和第一个耐用消费者都已成功创建,但在创建第二个消费者时出现错误。代码与单个主题完美配合,但我需要在同一连接中的运行时创建多个主题
以下是代码
------------ 变量值 --------------
applicationId = "Test123"
getSelector(0) = "CID NOT LIKE 'Test123' AND Durability LIKE '0'"
java - ActiveMQConnectionFactory 发送超时
根据ActiveMQ 站点上的这个配置页面connection.sendTimeout
,属性是:
等待消息发送响应的时间,默认值零表示永远等待。如果代理是快速生产者或没有消费者,那么永远等待允许代理对来自该客户端的消息进行流控制,这样代理如果不减慢生产者的速度,就会耗尽内存。不影响 Stomp 客户端,因为发送由代理确认。(从 ActiveMQ-CPP 2.2.1 开始)
我很难解释这意味着什么(以及该sendTimeout
属性的真正含义/它的作用):
- 什么是“消息发送”对象?
- 为什么 ActiveMQ 会等待响应?它不是在 JMS 连接的服务器端吗?它不应该等待请求吗?
- 它实际上超时是什么?什么时候应该使用它?
提前致谢!
c++ - ActiveMQ-CPP - 未应用消息重新传递延迟
我正在使用 ActiveMQ-CPP 3.4.5 从 C++ 程序连接到消息代理。我遇到的问题与重新投递政策有关。返回到队列的消息会立即重新传递。这不是我所期望的行为。我希望在通过重新投递政策设置的特定时间段后返回消息。
这是一段代码,显示了我设置重新投递政策的方式:
正如我之前所说,除了要在 10000 毫秒后重新传递的消息之外,我不会,但事实并非如此。他们立即返回给消费者。
有谁知道这种行为可能是什么原因?
activemq - 使用 activemq-cpp 启动应用程序后,清除 activemq 队列中的现有消息
我有一个应用程序充当activemq 中队列的消费者。这个应用程序是用c++编写的,使用activemq-cpp来获取activemq的服务。
我想要实现的是当我的应用程序出现故障并再次出现时,它应该首先删除在我的应用程序停机期间填充到队列中的所有消息,即它应该首先删除队列中的所有旧消息然后开始接收新消息。
有什么方法可以使用 activemq-cpp 来实现吗?
activemq - ActiveMQ:一次确认一条消息
我正在为 C++ 使用 ActiveMQ。在我们计划的设计中,我们将使用消息,将它们传递给一些异步处理,然后才将消息视为已处理。我们希望并行处理多个消息——每个消息将在不同的时间完成处理——并且只确认那些完成处理的消息。这是为了避免在服务器宕机、进程崩溃等情况下丢失消息。
从文档和测试中,我了解到在 CLIENT_ACKNOWLEDGE 和 SESSION_TRANSACTED 模式下,没有办法只确认一条消息。这种情况有最佳实践吗?我应该持有一个“会话池”,每个会话一次同步处理一条消息然后确认它吗?
谢谢。
activemq - ActiveMQ CMS - 具有 CMSPriority 的消费者选择器
我在activemq配置中激活了prioritydMessages,优先级工作正常,即当我发送X条消息时,其中一半优先级为0,一半优先级为9,消费者以正确的顺序接收消息。
但是,当我使用CMSPriority > 0
or等选择器调用 createConsumer() 方法时CMSPriority < 4
,没有收到任何消息。
这是相关的消费者代码:
当我将最后一行更改为 时mConsumer = mSession->createConsumer(mDestination);
,将收到所有消息,并具有正确的优先级。
谁能解释这种行为?
activemq - ActiveMQ CMS - 重新投递计数器
有没有办法知道特定消息被重新传递了多少次?
有getCMSRedelivered()
class的方法cms::Message
,可以正常工作但返回一个布尔值。还有getRedeliveryCounter()
class的方法activemq::core::commands::Message
,但这是一个我宁愿不直接访问的内部类。
谢谢。
c++ - ActiveMQ-cpp Broker URI with PrefetchPolicy has no effect
I am using activemq-cpp 3.7.0 with VS 2010 to build a client, the server is ActiveMQ 5.8. I have created a message consumer using code similar to the following, based on the CMS configurations mentioned here. ConnClass
is a ExceptionListener
and a MessageListener
. I only want to consume a single message before calling cms::Session::commit()
.
The problem is I am receiving multiple messages instead of one message before calling m_session->commit()
-- I know this because the commit()
call is triggered by user input. How can I ensure onMessage()
is only called once before each call to commit()
?
activemq-cpp - ActiveMQ-CPP getDestinations() 实现
AFAIK getDestinations 尚未在 ActiveMQ-CPP api 中实现
有没有办法通过 C++ API 获取添加到代理的所有目的地的列表?