0

我有一个应用程序充当activemq 中队列的消费者。这个应用程序是用c++编写的,使用activemq-cpp来获取activemq的服务。

我想要实现的是当我的应用程序出现故障并再次出现时,它应该首先删除在我的应用程序停机期间填充到队列中的所有消息,即它应该首先删除队列中的所有旧消息然后开始接收新消息。

有什么方法可以使用 activemq-cpp 来实现吗?

4

1 回答 1

1

如果您将 Connection 实例转换为 ActiveMQConnection ,则有一个 destroyDestination 方法,如果在调用时没有活动订阅,该方法将从代理和所有消息中删除目标,否则它将引发异常,因此请为此做好准备。下面是一个小代码片段。

    ActiveMQConnection* connection =
        dynamic_cast<ActiveMQConnection*>( cmsConnection );

    try {
        connection->destroyDestination(destination);
    } catch(Exception& ex) {
    }
于 2013-05-02T10:31:09.183 回答