如何让RabbitMq消息积压不被消费,在指定条件时进行消费 Java程序员必会知识

最近在Java自学网上学习MQ相关视频教程,意外收获该技巧,正好能应用在工作中,随时阻塞队列消费,指定条件满足再放开MQ消费,还算是比较灵活的控制了MQ,分享出来让大家一同受益吧。如有不妥之处请随时来拍砖!

使用条件说明:

1、此队列功能、属性必须单一,否则这个机制会阻塞其余消息

闲言少叙直接上代码:

boolean flag = Boolean.TRUE;
        while (flag) {
            try {
                long sleepMilli = 1000;
                Thread.sleep(sleepMilli);
                System.out.println("条件满足开始阻塞...");
            } catch (Exception e) {
                e.printStackTrace();
            }
            flag = Boolean.FALSE;
        }
        System.out.println("条件不满足开始消费...");

 此段代码需要加入到消费者中才有效哦,flag即使可根据业务场景变换的条件开关。

如何让RabbitMq消息积压不被消费,在指定条件时进行消费 Java程序员必会知识_第1张图片

 

 

你可能感兴趣的:(RabbitMq,架构师,java自学)