我正在开发一个使用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/