我有一个应用程序,它充当activemq中队列的使用者。此应用程序使用c ++编写,并使用activemq-cpp获取activemq。
的服务我想要实现的是当我的应用程序出现故障并再次出现时,它应该首先删除在我的应用程序关闭期间填充在队列中的所有消息,它应该首先删除队列中的所有旧消息和然后开始接收新消息。
有没有办法用activemq-cpp来实现这个目标?
答案 0 :(得分:1)
如果将Connection实例强制转换为ActiveMQConnection,则会有一个destroyDestination方法,该方法将从代理中删除目标,如果调用时没有活动的订阅,则会删除所有消息,否则会抛出异常,因此请为此做好准备。随后是一个小代码片段。
ActiveMQConnection* connection =
dynamic_cast<ActiveMQConnection*>( cmsConnection );
try {
connection->destroyDestination(destination);
} catch(Exception& ex) {
}