00:00
嗯,是这样的,我们现在呢,刚才在service维斯套当中开发了发消息的这么多功能,对不对?好,你这消息发给谁了,是不是刚才看到了发给那个MQ了是吧?当然是我现在的一个测试啊,就是所有的这个这个结构已经串起来了,你就在当中看到那条,然后接下来消费消息,谁来消费呀,是不是由消费者,消费者是谁,是不是我们的短信微服给你发消息,这个目的就是想让短信微服务去上这里面读消息,然后把它消费掉,然后并且发短信嘛,对吧?好,那么所以监听器要写在哪。对,要写在SMS里面明白哈,所以呢,接下来呢,我们就在这个SMS里面呢,去引入刚才我们的还是这个rabbit q的这个依赖啊,然后把它复制一下,复制一下之后呢,我们到。啊,这面泡,然后呢,我又把它引到这儿了,把它引进来好,引进来之后呢,我们就。
01:17
再做一件事情,就配这个麦哈这个复制一下,然后呢,放到呃,SMS里面的resources下面。好,然后找到我们合适的位置,好,这写在spring下啊,别写作好,就跟这些都是同一个级别的,然后都在spring下面,然后加来呢,这边别忘了改一下,200921。200921。好,那这样的话呢,我们的这个啊就写好了,写好了之后呢,我们就来写一下我们的这个监听器,监听器的话呢,我们在SMS这个下面呢,我们去创建一个监听器的一个包,那我就把它叫接收器的这四个,然后呢找到SMS。
02:08
好呢,在这面呢,我们写一个new哈,Package receive,好,然后接下来呢,在这个receive里面呢,我们写一个Java class啊,这个加va呢,我就叫SMS。这怎拼不对,I叫什么II好,然后呢,我们就把它叫这个SMS receive,当然了,这个啊,监听器它应该是spring容器当中的一个自动嗯,注入的一个组件,因为大家想我们一定是希望当我们的项目一启动的时候,这个监听器它就处于监听状态,对不对啊,所以它肯定是随着随着容器的启动啊,自动生成下降,所以呢,我们要让磁成容器来合计它就行了,然后将下来呢,这里面呢,我们也。
03:07
打印一下日志吧,然后再接下来呢,这里面呢,我们要嗯用到的呢,就是发短信,因为一旦我们的短信微服务监听到消息,服务器当中有消息的时候,他要做的事情是不是就是发短信啊,所以这面呢,我们要注入的就是短信微服务里面的发短信的业务,我们在这个地方调发短信的业务啊,好,然后接下来呢,在这里面呢,我们会定义一个方法,这个方法呢,实际上就是当前的这个监听器的一个核心的方法了,调监听消息的这么一个方法,那这个方法呢,会被自动的调用,只要有消息到来,满足相应的条件,那么这个方法呢,就会被字头调用好,那点in inform,那有这个话呢,我们就写SMS receive。
04:07
然后消息消息肩轻哈,好,然后接下来呢,在下面这个位置,我们呢,就。在这个send里哈,它呢会有一个参数,这个参数就是你监听到的这个消息,就会自动的被封装到这个smsd to里面去啊,所以你会发现在SMS这个微图当中,我们也访问了smsd to,在service套当中我们也访问了这个SMSC,所以这个SMSC呢,我们就之前定义在了S是不是啊,这就是共享啊,这个实体啊相当于好,然后接下来呢,啊,我们在这里面呢,可以去通过SMS service呢,就去发短信了,点send,然后呢,发短信的时候呢,那就按照我们之前很早以前就学过的这个发短信的这个功能去发就行了,Mobile table code的以及parent,好,因为我们之前申请的那。
05:21
那个模板就是发验证码的那个模板啊好,然后我们现在申请模板就是他比较严格,因为金融项目也是从今年才开始讲的,所以呢,他申请模板是比较严格,现在就不太好申请了,那那我就还是用发短信的那模板,呃,就发短信的模板就是你的验证码是,然后你充值成功了,怎么就是这样的意思,就大致有意思了,大家知道怎么回事思,然后大家也是就是还是用之前的那模板思,只不过变量那块呢,就变成了我们刚才发送的消息的内容,消息的内容麦写了,然后我们把替换原来的验证码就可以了,明白吧,啊好,然后呢,嗯,这面呢,我们就用SMS service呢去发这个短信,那发这个短信的话呢,首先第一个参数就是smsd to.get mobile了啊,然后第二个参数就是SMS proper,就是之前咱们封装过的啊,叫time code呀,就是我那个。
06:21
短信模板的那个模板码还记得吧,我们之前是把它封装到了这个配置当中吧,就是它对吧,就是我们短信模板的代码好,然后接下来第三件事情是不是就是多装一个。Ter啊,我们阿里云发短信的时候,是不是里面可以接收,嗯,很多的战略服就是那个短信模板,不是我们在阿里云平台上配置的吗?还记得吧?啊,然后那里面呢,比如说我们的那个验证码那个那个叫什么来着,我们验证码是不是要扣呀,大家还记得吧,所以呢,我们是不是要替换里面的那个扣的这个站位服呀,把扣的这个站位服就替换成我们要发送的短信的内容就可以了,明白吧,回头呢,他就会把要发送的短信的内容呢,就展示到这个课的占位符这个位置,明白哈,啊,只不过现在我们这个呃,编码这个的模板啊,可能就是嗯,不太恰当哈,但是呢,我们就体现出这样的一个发短信的功能就可以了,那这样的话呢,我们就封装这个排名的参数,然后去组装那个扣的这样一组,那我们就new哈西map,然后。
07:39
Over就可以,然后呢这面呢是参数,然后呢这个参数表啊,Code,然后我们就放这个code,然后呢,内容呢,我们就smsd to.get message就好了啊,所以最终我们要发的短信的这个模板的参数的介值,对呢,就是这个判字,所以呢,我们把这个字上放到这个位置,明白这个意思吧,啊好,那这样的话呢,我们整个的这个短信发送的方法就写好了,但是人家凭什么就认为你这个是嗯鉴定方法呢,你这个看内容没有什么措施呀,对不对啊好,那么在这个sign这个上面呢,我们要写一个注解,这个注解呢是核心叫rabbit listener啊叫rabbit listener,好,这个rabbit listener里面的。
08:39
参数呢,稍微有点复杂,那么它这边呢,有一个这样的一个参数叫find定词,Find定词呢,就是我这个鉴定器呢,我要绑定什么,要绑定什么呢?我要绑定一个叫做Q。叫做Q3D的这么一个。一个对象啊,这个叫队列绑定器哈,队列绑定器它就跟谁有关呢?它跟三个内容有关,一个内容呢,就是你的嗯,队列的名字就是队列的名字,然后还有一个内容呢,就是你的交换机啊,是谁啊,然后还有一个内容呢,就是你的陆由是谁?那我们现在呢,要在这个地方配这三个内容,明白吧?啊好,那我的这个嗯队列是谁呢?队列怎么配呢?它这里面还有一个叫Q的这么一个注解啊,在这个Q这个注解里面呢,我们可以配置队列的名字,队列名字呢,是我们在MQ count这个里面定义的那个定义的那个叫做嗯队列的名字quee q SMS item啊是这个名字,然后呢,我们希望呢,它能够被。
09:59
十哈,就就等于数哈,好,这个true false,它是接收一个字串变形的,然后所以我们就给它一个字串就行了,然后呢,这个是队列,队列的一个配置,接下来呢,我们来说交换机的配置,交换机的配置呢是A字change质好,然后呢,我们交换机的名字value,然后呢就等于Mq.X constant.it change topic SMS,这个我们可以用这种方式来定义我们的交换机,然后接下来呢,最后呢就是路由,路由这块呢,实际上我们可以配多个路由地址啊,那所以说呢,我们可以用这个大括号啊,多个用地址给它隔开,那当然现在我们只有一个就是MQ,然后点routine SMS s。
10:57
这样的话呢,我们是在这个地方啊,指定了队列,指定了交换机,指定了路由啊,所以说当整个啊容器启动之后,监听器开始监听之后,那么这个时候我们相应的呃,这个交换机呀,还有这个队列呀,才创建出来,所以当你第一次来运营项目,当你只开发了消息的发送端,没有开发消息的监督端的时候,你会发现你这个呃,整个的贝塔Q的这个管理平台上就根本就看不见这些东西,尤其这个队列啊,队列这一块你是看不见这个这个内容的,明白吧?啊,一定要先把监听器给它写好,然后再启动,然后队列这边呢,你就可以看到这些内容了,好,然后呢,接下来呢,我们现在呢,这个监听器呢,其其实就算是就算是写好了吧,写好了之后呢,我们现在呢,就来去运行一下咱们这个监听器。
11:54
所以监是在SMS当中,我们把它启动一下。
12:02
看看我打没打印和打印。好,大家看,只要我的监听期启动,是不是我消息就监听到了,因为什么,是不是因为我对那边他一直没被消费啊,这个消息哎,现在没了,已经被消费掉,明白这个意思吧,啊然后我谁弄自己好我我就收到了一条短信,我收到了已经,虽然你们还没看见,他说您的验证码没充值成功,该验证了五分钟有效啊,因为我们消息的内容就要充值成功嘛,对不对啊好,那所以这块呢,就是。我们整个这个发消息的一个过程了,明白吧,啊所以呢,呃呃,还有呢,就是这个地方,它会有一个消息的自动确认机制。
我来说两句