00:00
好,上节课呢,我们把这个ETL拦截器啊已经都完成了,那接下来我们来做什么事情呢?接下来我们来处理一下分类型拦截器啊,有了前一个这个基础啊,我们写这个分类型呢,就容易多了哈,那首先呢,还是按照这么几步啊,第一步呢叫创建一个类对吧,那在这里面右键。一个。这个类名呢也是啊,尽量跟我这个保持一致,否则的话你还得改对应的配置信息。好,第一个类实现intercept接口这块呢,最主要的问题呢,就是不要导出包了。在这。然后实现它四个方法,分别是初始化单event,多event以及close是吧,这么几个,那行啊,那下来我们来看,首先来处理一下这个单event,那在单event里面我们要做什么事呢?我们叫分类型是吧,哎,你过来一个数据,那这个数据呢,它进入到里面有一个头是吧,哎,头部信息。
01:09
还有一个。Body就是身体呗,啊body进来之后,那在body里面我们可以把这个数据拿到。拿到之后我想发往自己指定的通道,因为我有一个是启动日志,一个是事件日志,我要给它区分开的。正式启动。啊,这个呢是事件。那怎么做到呢?哎,我可以通过这个头,我在头里面创建一个topic。对吧?哎,如果过来的日志是启动日志,我放到这个topic啊,是启动日志的头里面,如果是事件日志,我在这里面放到事件日志的头。然后启动日志的房产证事件日志的房产证。这不就完了,是这样一套流程。OK,那行啊,那在这里面首先首先呢,我们来获取一下这个body呗,获取数据。
02:04
对吧,哎,获取数据。那获取数据event就老生常谈了啊,点get body点获取到的首先是一个字节数组。那么这个这些数组呢,仍然不方便我们处理,我们仍然需要创建成使际,哎,使劲别到书包了啊,你看上面这个是三不是他啊,下面这个。然后把包进来。啊,Utf杠吧。哎,不是,哎呀,这也返回了哈,行,那这个呢,是这个love啊,那这个数据得到了,这是第一步。那下面我要从里面把它制到对应的定的里面,我需要那第就获。
03:02
怎么呢?点get。OK,那这样就拿到了对应的海四知道。那下面是要干嘛呢?要开始具体的匹配了啊。判断数据。类型。判断什么类型啊来判断的,你是启动日志。还是日志?哎,把它判断出来,判断出来之后,根据你的类型写入到不同的。头里面的对吧,哎,写入到。啊,里面。这不就完事了吗?那好,那判断一下时间类型啊,If还是log说contains包含对应的说是什么?这是一个启动日志啊。
04:11
OK,那再来else呢?事件。对吧,这就OK了,那在里面怎么写啊怎么写。是一个K式在那这个,那你一的应该什么,你看你一下你以前的配置文件在这。这是一个选择器吧,啊选择,比如说会把数据根据你指定的通道啊写,根据数据类型写入到你指定的通道里面。
05:01
那谁是Y6呢?这是1Y6,这是Y6。如果你把它给到这个topic,那就说明它是一个启动日志,我就会发往这个传道通道你。如果你给过来这个类型是topic event,那我就会发往CHANNEL2,说明是一个事件日志,就这么区分的,那这里面已经给你指定好了。拿过来。好,那它的Y6第一个启动程式的Y6是谁呢?那就是它。啊。哎,那下面四件事那简单了,还点或key呢,仍然是talking平。Y流变了,Y就得变成对应的事件通道的Y。
06:05
OK。这就完事了,那注意这一块,这个空不行,必须得返回,因为我这个包底里的数据还得正常的通过,我只是让你发往不同的通道而已,我并没有说这个这条日志我不要了。是吧,哎,这块要注意一下,行,那这就是单event我们就要出完了,那下面我们再来快速的处理一下多event,那首先呢,把它变成EVENT4。仍然是这样进来一一组事件,通过我们中间的处理,然后返回一个事件。对吧,那这里面我们还会像这个ETL安全器一样,要过滤掉一部分数据吗?没有必要进来什么就出去什么,有同学说那你莫不是把这个直接返回呗,哎,直接返回,防止你进来这个数据,这个期间外部又把这个数据这个变量啊给更新了。哎,我们一般呢,是把它接收过来之后再返回啊,缓冲一下啊行,那循环一下吧。
07:06
4.fourok,那我们仍然是定一个返回值的集合,又一个list。Even事件吧,好,那这个呢叫intp。INTERCEPT41个。OK。然后它那这块就容易多了。直接intercept,哎,点event,比如说调用上面这个单event事件,然后把event传进来,点Y返回值,那不管你返回的是什么,我都怎么样,我都原封不动的添加进去一。返回,然后并把它作为返回值,OK。
08:02
哎,这就是多一一个处理非常简单。那下面我们再来创建一下静态内部类这个。Class。啊。Plus。Cept。实现两个方法啊,加回车好,那这个builder啊,要创建自己的builder,你有一个log。是吧?这样就结束了啊,结束了哈,这个呃,Log分类型拦截器就非常轻松啊,加一块的搞定。
我来说两句