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

时间:2011-09-30 08:36:30

标签: c++ jms activemq

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

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

1 个答案:

答案 0 :(得分:3)

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

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