00:00
好,同学们,我们继续,那么上一讲,我们给大家介绍了。生产者测的事物以及怎么开启事物处commit第二个为什么要用事物,那么保证复杂的业务下面都OK了,批处理一次性提交,同时成功同时失败,如果是try catch有异常了,我们可以把本次操作回滚好。那么我们对于生产者。True commit这两个一定要注意。那么。这儿多说一嘴,如果对于生产者而言,你这个错,那么这种签收方式后面这个参数啊,基本上就不是特别重要了,那么事物如果是触加卡密,那么它的。相当于级别更高一些好,那么现在我们呢,对于队列上干净,我们这儿过来。提交三条,以事物的形式啊,成功提交三条,这个时候我们队列这3030好说,那么这个时候大家请看,那么对于我们消费者是不是也有一个东西叫事物呀,那么这个又有什么变化和区别呢?那不妨同学们请看,此时我是不是force啊,跟原来一样,那么对吧。
01:10
那么这个时候我们呢,直接运行,大家看,由于前面生产者按照事物的方式提交了三条消息,我这边是不是也消费了三条消息,我们这等四秒钟,四秒钟以后没有新的了,我们就撤,这个灯就灭,那么这个时候大家请看队列0033,那么待消费三条,已消费三条好成功,那么接下来我们再来。这个时候我们再运行一次消费者,我们懂的干嘛,这个消息是不是只应该被消费一次,否则就是天天消息重复,那么这个是不大好的,那么OK。接下来这个就是我们的新的特性演示,对于force这种情况我们知道了,干嘛只要是你接收了以后只接收一次,那么。就OK,不会重复。那么接下来请看错,那么老规矩干嘛?我们是不是也应该三点看me?
02:05
Commit呀,但这个时候呢,杨哥干坏事偏偏先不卡,那么根据刚才我们的认识,我们都理解消费者只应该被消费几次啊,是不是只应该三条消息,只应该被消费一次啊,好,这个时候同学们请看force的情况下,我只消费一次啊,第一次啊,拿了三条消息,后面再执行多少次啊,都没有消息可以供我消费,好,那么。接下来改为处了。但是没有写卡,那么这个时候大家请看。我run。好,第一次啊,应该有三条消息,这是正常的,那么同学们请看3030诶。诶。出事了,明明后面控制台打印出三条了,说明碰到了,但是他这什么我再点刷刷刷刷刷刷新了3030什么情况,就说在MQ而言,他还是认为这三条消息是什么。
03:04
为消费的,那么言下之意什么概念?因为你开了错,对于消费者而言,你你也没有看me,不妨同学们,我们再运行一次啊,消费者怎么着第二次啊,消费到这种东西就非常的操蛋,为啥?这个就是在生产故障当中最害怕出现的事儿,消息重复消费这种订单的状态被你改的真的是乱七八糟,那么这个时候再来一次啊,同学们请看。怎么样,是不是这三条又被重复消费了,OK,那么所以说这个时候大家看,明明我们后台打印出来三条,甚至是多次打印出三条了,被消费了九次啊,但是这还是三零,三零这代消费三条根本没有跑到这儿,好那么这个时候同学们,我们打开我们的看密,这个时候我们再运行一下。开工好三条,四秒钟以后灯灭。四秒钟以后灯灭好吗?那么来同学们队列,我点0033,没问题吧,因为灯灭没有消费者了,那么这个时候不妨我们再来看一下,再跑一次试试啊。
04:04
同学们请看没有重复消费了吧,OK,所以说如何避免消息的重复消费,对于我们而言,干嘛消费者提交时候的事物消费者。干嘛消费时候的事物都非常重要,那么这个就是什么,我们对事物的理解和分享。
我来说两句