c++ - 如何防止ActiveMQ CPP发送方法永远阻塞?

标签 c++ activemq-cpp

我正在开发一个使用ActiveMQ C++ 库的软件。我遇到的问题是,当我尝试发送消息并且网络已关闭时,send方法(cms::MessageProducer类的方法)永远阻塞,我在这种情况下需要恢复控制。

我正在使用持久交付模式(这是强制性的,我无法避免)。

最佳答案

创建ActiveMQConnectionFactory时是否设置了sendTimeout?默认设置为 0,表示“无限”。

auto_ptr<ActiveMQConnectionFactory> connectionFactory(
     new ActiveMQConnectionFactory( brokerURI ) );
connectionFactory->setSendTimeout( 1000 ); // number of milliseconds
// ...
// creating Session and MessageProducer as usually

关于c++ - 如何防止ActiveMQ CPP发送方法永远阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607891/

相关文章:

c++ - 将 QT 用于 GUI c++

c++ - 执行内存分配以存储中断处理程序中获取的数据

jms - 为什么 ActiveMQ 消息服务器需要 JDK 而不是 JRE?

c++ - 如何在 Windows 上构建 Apache ActiveMQ-CPP(和 APR)?

java - 将 C++ 连接到 ActiveMQ 代理

c++ - C++中的删除

c++ - 函数重载中的隐式转换序列

c++ - Windows PC 上 Qt5.3 上的 Android 目标 QWebView,错误 : Unknown module(s) in QT: webkitwidgets

c++ - 静态链接ActiveMQ-cpp

java - 我在哪里可以手动配置 ActiveMQ 主机名?