Как предотвратить метод отправки ActiveMQ CPP от блокировки навсегда? - PullRequest
2 голосов
/ 30 сентября 2011

Я занимаюсь разработкой программного обеспечения, использующего библиотеку ActiveMQ C ++. Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь отправить сообщение и сеть не работает, метод send (метод класса cms::MessageProducer) блокируется навсегда, и в этом случае мне нужно восстановить элемент управления.

Я использую постоянный режим доставки (это обязательно, я не могу этого избежать).

1 Ответ

3 голосов
/ 30 сентября 2011

Вы устанавливаете sendTimeout при создании ActiveMQConnectionFactory?По умолчанию он равен 0, что означает «бесконечный».

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