【问题标题】:Clear existing messages in activemq queue, just after starting application using activemq-cpp使用 activemq-cpp 启动应用程序后,清除 activemq 队列中的现有消息
【发布时间】:2013-05-02 07:03:02
【问题描述】:

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

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

有没有什么办法可以使用activemq-cpp来实现呢?

【问题讨论】:

    标签: activemq activemq-cpp


    【解决方案1】:

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

        ActiveMQConnection* connection =
            dynamic_cast<ActiveMQConnection*>( cmsConnection );
    
        try {
            connection->destroyDestination(destination);
        } catch(Exception& ex) {
        }
    

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 2020-12-01
      • 2016-08-28
      • 2013-06-25
      • 2013-01-22
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多