【发布时间】:2013-03-21 20:20:50
【问题描述】:
我正在使用 ActiveMQ-CPP 3.4.5 从 C++ 程序连接到消息代理。 我遇到的问题与重新投递政策有关。 返回到队列的消息会立即重新传递。这不是 我期望的行为。我希望消息在一段时间后返回 通过重新投递政策设置的时间。
这是一段代码,显示了我设置重新投递政策的方式:
policy = new activemq::core::policies::DefaultRedeliveryPolicy();
policy->setInitialRedeliveryDelay(0);
policy->setRedeliveryDelay(10000);
policy->setMaximumRedeliveries((int)activemq::core::RedeliveryPolicy::NO_MAXIMUM_REDELIVERIES);
connectionFactory.setRedeliveryPolicy(policy);
正如我之前所说,除了要在 10000 毫秒后重新传递的消息之外,我不会,但事实并非如此。 它们会立即返回给消费者。
有谁知道这种行为的原因是什么?
【问题讨论】:
标签: c++ activemq activemq-cpp