00:00
来是吧,来,咱现在呢,在这里我再去封装一个工具类,或者你先写写代码,然后用到的地方呢,你再来封装也行,对吧?像这种代码呢,大家这个基本上我觉得写起来应该问题也不大,对吧?为什么?因为咱们前面写过类似这样的代码,对吧?现在干什么呢?这个是从咱们这个my circle啊,从my circle中来读取我们这个偏移量它的一个工具类啊工具类,那你想你看这个名字,同学们outside manager,然后M,对吧?那你说我这个东西和咱们原来这个all outside manager you基本上是不是应该差不多的,对吧?那么咱们在outside的manager u里面,因为有两个方法,一个呢叫什么get outside,一个是c outside吧。对,那咱们现在呢,在这里先给来一个对吧,来获取我们这个偏移量啊,获取我们这个偏移量啊,那么这个东西怎么来获取呢。想想思路就行,你们先别想代码,同学们大概思路应该什么样的,返回值是什么样的?同学们就当前的获取偏向的类型返回成什么类型来呢?Map什么例子啊,Map集合吧,对吧?你看咱们经常在定义命名的时候,是不是什么outside map outside map是不是一个mapb集合呀?Mapb集合里边它放的K应该是什么?
01:18
Top一个part,然后V呢,是一个浪类型的数据都偏移量,对吧,叫偏移量对吧?那么具体这块呢,那其实呢,我直接把这代码拿过来对吧?从咱们这个买1SO里面对篇量把这个代码呀拿过来对吧?这个代码其实咱们写过,同学们不带大家写了对吧?呃,那么具体咱们得写的时候呀,大家看,当然你现在呢,要想去返回这个获取偏量,返回的呢,是我们一个top,然后呢浪,然后这块呢,是我map集合,然后接下来,那么咱们现在那偏量从哪获取,是不是应该从我数据库的,咱们现在从偏量这表里面获取啊对吧,那我现在从这表里边把这个东西拿过来,只不过这个表呢,这是0523啊0523,那么你现在想获取片段的话,你是不是有个传两个东西啊,一个是topic这那么另外一个是消费者组的ID对吧,然后接下来那么咱们现在经过查询之后,那么他呢,可以从我们数据库里边把咱们这个数据啊给查出来,封装成一个偏对象对吧,就这个东西。
02:19
哪一个消费者组他消费主题对吧,它的偏移量情况,它的分区情况,这个东西咱们可以查出来了,但是人家要情况长这样,那你想一想同学们,他如果长这样的话,你是不是得对他做一个处理呀,对吧,你是得做一个处理,假如让你们写的话,你们想处理怎么处理?就你们如果让你们写的话,你别看我下面代码,你接下来该干什么了。来咱把这写一写对吧,写一写,然后呢,咱看一下对比啊,这个和他的方式一样不一样啊,你目标是不是返回这个东西,然后你现在呢,是不是现在返回这个这样杰森,那接下来咱现在那怎么来做,这是一个集合呀,这是一个集合对吧?那咱是不是得去干什么,填object的点放一下行不行,这个集合做一个便利可以吗。
03:13
行不行,同学们可以吧,这个经似度变定,每次变定得到一个直接对象,这有什么不行的呀,KS嘧定对吧,然后记下来,那么你拿这些对象之后,对吧,那你可以得到什么呢?SOVG点咱们的get,那这里是不是你可以拿到咱们现在这里面这些内容啊对吧,你你在封装的时候,它得到的值是什么样的,你当你拿到这对象,它其实呢,是把咱们这个格数白ID对的值对吧,然后呢,咱们topic对的值,以及咱们topic高S对的值,然后这个对值是是这个封装这一个的这个明知对啊,他是不是一条这次对象对吧,所以说咱们现在呢,你可以获取啊,那你看都是什么类型呢?所以刚才在创建的时候呢,在咱这里你再去创建的时候,对吧,咱们这个outside对吧,它本身格式ID串topic z串,它ID是我们现在它的一个in的,然后这个topic outside这个呢,是我long。
04:08
的浪型,那也来呗,这里首先第一个咱们这个topic topic可以不获取,因为咱们现在这个topic我这我这我这有对吧,我这有,然后咱们现在呢,这group ID这个咱们是不是也有了,所以你可以直接什么可以直接获取我们现在盖的例子do value谁呢?对咱们这里这个分区。对吧,Part ID你是不是可以给我拿到对吧?那么第2V2下就是partition ID,那么另外一个呢,那么咱们现在在这里我还可以拿到什么,我是不可以拿到它便宜量,那这个应该是GA森OVB点二钙的偏移量long类型吧,对吧?那咱现在呢,那就get down,我曾经给大家讲过get浪杠get浪Y区别吧。啊,对吧,是不是有一个咱们现在它返回值它一个类型的一个事了,对吧?那么如果get子浪的话,它返回浪类型,如果盖浪Y率的话,它返回是我的一个小浪类型,那也就是说它允许咱们这控制存在对吧?它这里没有控制的对吧?它里没有控制的对吧?如果控制的话可返回什么呀?给返回咱回零了啊给返回零了对吧?那这会儿呢,你看给你的个实际情况对吧?看给你返回什吧,咱们现在呢,要谁更合适1.longvalue对吧,你想想你看我先用long value,到时候咱们这里说如果空的话,给我返回零杠对吧?那你想一想,我这里边如果没有值的话,那你不应该给我空,对应该给我返回一个零对吧,那咱现在呢,这个是我们的al s,那接下来咱们在这里对吧,是不是得new一个topic part对吧?在这里我得new一个topic part,那么如果new topic part的话,需要传两个东西过去,一个是topic对吧,一个是我们的topic对吧?那么另外一个呢,Partition,那咱们现在呢,Partition呗,对吧?那么咱们光就这个东西不行啊,你这里卖里边要放的是。
05:55
这个东西嘛,对吧,所以说咱CTRLC,然后接下来在这里CTRLV,然后接下来我现在呢,要去定一个变量VR,然后这个呢,RSM,它就等于我们现在呢这个map对吧,在这里咱们现在呢,一开始给了空的map集合。
06:12
Co闭合对吧,那只不过我现在要这么写的话,这个map我想往里放放东西好像不容易嘛,因为你要往里放东西,不停放东西,那你最好定义什么呢?对吧,咱们在这里me对吧,Me来到现在拿过来对吧?把这个拿过来对吧,我现在呢,看一看咱默认的是不是我们imutable对吧?那我现在呢,把这个东西拿过来,然后呢,我现在来beautifulable这个下边去找谁呢?去找我现在这个map啊,去找到这个map,那么找完了map之后呢,那这里你就可以什么呀,你现在在获取我们这个对吧,这个值的时候,对吧,把这个给拿过去了,这个呢是我们这个。
07:00
To Go outside是吧,To outside,然后接下来那么咱们现在呢,在这里我呢可以填上了RS map,然后接下来啊,往里放数据,谁呢?K是不是咱new的这个东西,然后咱们这个value谁呢?是不是咱们现在ET呀,对吧,这呢是ET,然后接下来那么咱们现在最后呢,在这里我要给它返回,返回谁呢?RS map,只不过同学们这个时候你得去把它转换一下,转成map,我这么写行不行,同学们应该没啥问题吧,对吧?但是除了这种方式,你们刚才好像更习惯的提醒我说这会别用我这个循环。对吧,刚才我放循环的时候,好像有多好多同学你们想的什么map是么一样嘛,Map底层大家想一想,它是不是也有一个这个循环呀,对吧,来你看看这是我的写法,然这块呢,你看看和咱们一样不一样,对吧,它这里干什么map吧,对吧,你个map底层呢,这里边对吧,是不是也有这个循环呀,对吧,也有循环,也要迭代,也要把这个元素一个个取出来嘛,对吧,哎,那么咱们现在呢,那么这块大家看对吧,就是我现在我拿到之后也拿到基对象,然后通过基对象呢,对吧,可以拿到我这个啊long value对吧,Long value它ID啊这个直接在这了,没有封装变量ID对吧,然后接下来咱们对吧把它封装成一个这样的一个啊mab集合,然后mab集合呢,最后做一个转换,然后给打过去,其实和咱们这个代码是一样的,对吧,这代码一样的对吧?好了,呃,那么这块呢,对吧,这块呢是关于我们现在呀,这个获取我偏量它的封装,那么你封装完这个工具之后,大家想一想,以后咱们再写卡卡代码的时候,咱们第一件。
08:39
是是获取便移量啊,那么这个时候就不应该是我们的outside made YouTube.get outside了,是不是应该咱们从这里来获取啊,是吧,诶就假如说我现在呢,这里我想获取我们这个偏量啊,我想获取啊,咱们这个这个这个啊DWS便量,那么这个时候你应该啊,从咱MYSO里边把这偏量我拿到啊,从MYSO里面偏量我拿到对吧?那么怎么答呢?这个是关于我们在这里获取偏量的方法,对吧?好,再稍微休息一会,稍微休下。
我来说两句