yml配置
rabbitmq:
    #队列名称
    queue-one: queue_one_1,queue_one_2
@Autowired
private RabbitAdmin rabbitAdmin;
private void clearQueueList(String queueNames) {
    Arrays.stream(queueNames.split(","))
            // 去除队列名前后空格
            .map(String::trim)
            // 过滤掉空队列名
            .filter(name -> !name.isEmpty())
            .forEach(queueName -> {
                try {
                    // 调用 RabbitAdmin 清空队列,不删除队列本身
                    rabbitAdmin.purgeQueue(queueName, false);
                } catch (Exception e) {
                    // 记录日志或处理异常
                    System.err.println("Failed to purge queue: " + queueName + ", error: " + e.getMessage());
                }
            });
}

业务实现逻辑:使用RabbitAdmin清空RabbitMQ队列的方法。通过传入逗号分隔的队列名列表,方法会依次处理每个队列名(去除空格、过滤空值),调用RabbitAdmin的purgeQueue()方法清空队列内容但不删除队列。异常处理采用简单的错误打印,建议可优化为日志记录。该方法适用于需要批量清空MQ队列内容的场景。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐