00:00
同学们,我们上节课呢,把什么代码写完了,把这个叫两个消息。接收写完了对吧,我们正好是准备来一次,这个叫这个善出的一个实战,当然就是发布订阅啊,我们上节课呢,把哪写完了呢,把这两个写完了。就是两个消费者写完了。完了呢,我们接下来准备写生产者。这他。对吧,生产者的名字他也给定义好了,表示就要用到这个名字叫什么叫e MIT log,对它的名字呢,就已经给定义好了,接着呢,我们写一下它。写它之后呢,紧接着我们在这里面直接哎,右指键创建一个这个类的名字。这个类呢,负责干什么呢,负责进行发消息。发消息给谁呢?给交换机,对,所以我们的交换机的名字也固定住了。交换机的名字上两个,发送当中啊,接收当中已经写完了,这是交换机的名字。
01:00
对吧,交换机好。完成,紧接着我们再写发送。发送呢,一定要把消息发送给这个叫交换机是吧,发送给交换机完了呢,有两个队列进行接收。来咱们写一下啊,首先第一步呢,你要去连接咱们的这个心道是吧,这个不用怀疑,继续。完之后,它紧接着再去抛出异常。拿到信道之后呢,我们进行例如声明咱们的交换机。对吧,那么你交换机不声明呢也可以,为什么呢?因为我们之前的交换机其实已经声明过了,在另外两个消息方,那我们就再声明一次。声明呢,无非就是去创建一下交换机啊,完了,紧接着交换机的这个类型是这个所谓的扇出是吧,也就是。也就是我们的什么叫发布订阅是吧,删除强硬翻译这个单词啊,叫删除。完再往下呢,我们就该开始发,发的时候呢,还是遵循之前的原则,就是从控制台上直接输出。
02:04
输入了完了呢,System第二。一对好。王者紧接着开始进行循环便利了。对,完之后有下一个值,如果有下一个值完之后呢,就把这个值发出去是吧,首先拿到这个字符串类型的一个消息,完了呢,把这个值作为下一个值啊,作为我们的消息。完之呢,进行发送信道呢,叫基本的叫pub是吧,我们把交换机的名字填里面。原来之前我们发送的是交换机,直接是空串,现在呢,咱不对了,咱直接写交换机,第二个呢,要求写ROK。Rolling k是空泛对不对,Rolling k是空泛,我们在之前的创建当中已经看见了,在这个位置绑定了是吧,你看。在进行绑定时,绑定的是队列交换机,还有柔K是个空串,所以你发的时候发个空串完,其他参数呢,你就不用填了,哎,写个那么值就可以完了,再往下呢,再把这个消息。
03:06
转成啊,转成二进制是吧,转成二进制的时候呢,要注意呃,如果是中文呢,我们最好是写一个油田杠八是吧,进行不要乱码。完之后呢,再打印最后一句话表示成功发送是吧,叫。生产者。这发。出消息冒号消息是什么?打印一下。就行了。接下来呢,我们将这些服务进行启动啊,首先我启动第一个接收消息。接收,等待接收消息,把接收的消息打印在屏幕上。完之后,紧接着我们。再去执行。下一。相当于有两个接收的。完全符合咱们图上这个图啊,两个队列对两个队列进行接收,你再把生产者启动起来,发消息给交换机,交换机再把消息路由到两个队列,路由的K值是什么?是没有值的对吧?是空串对吧?是空串。
04:08
就因为都是空串,所以只要一个发消息,两个就都能接收。来吧,剩下还有一个谁呀?还有一个生产者。生产者当中,我们看一下代码IO报偿报报异常20 21行。21行当中,他要声明这个交换机。哪里有问题?交换机已经存在了,不用声明了是吧,所以把它注掉了,因为另外两个已经把它创建了,你让他看一眼啊,首先咱们这个。交换机打开。你看logs已经存在,并且类型就是这个删出类型,所以已经有了,就没有必要再写一遍。那在运行。好了好了之后输入一下是吧,当我输入一一的时候,另外两个是不是都要接收一一,对你看一一完之后,另外两个你看它接收到了。
05:06
这个二号机接收到了一一,一号机也接收到了一一,所以一个一一被两个人接收,你看二。334455,哎六六对吧,这些消息他们都会一人一份的接收到你,11223344566是吧,另外一个也是。所以就达到了一个一发多接的目的。相当于广播大喇叭是吧,大喇叭完了呢,一个发送啊,多个接收。就达到了我们这个关于这个叫善出,或者叫发布订阅模式的一个目的。
我来说两句