- 00:00 - 好,然后同样的,接下来我们应该去打包扔到集群吧,啊打包扔到集群,我们来打个包啊呃这块,呃打包这有包了,所以呢,我们先这样吧,啊为了好看一点,先亲一下可以吧。好,打包成功,打破成功呢,我们去。给你。做一个清理之后呢,重新打个包。好打包完成,那接下来我们把这个东西给它扔到集群对吧,诶,我这个虚拟机。好,那这个时候呢,我这个虚拟机已经开启了,开启之后呢,我们应该去写我们的什么。配置文件是吧,啊,配置文件把那个架包要拖上来,然后呢,写它的一个配置文件,我先到这来。 
- 01:03 - CD到from job底下啊,这底下啊,然后呢,奥pcdd model from立下对吧,然后把我们的架包呢,给它扔进来。啊加包不能忘了,那天就是把那个先忘了,直接想运行告诉大家能不能会会报错对吧。现在现在啊,记得对吧,先把它扔上来,然后呢,Touch一个。My think吧,啊MY think.com such think,那这个我们说了,呃,South呢,用China呢,还是用memory source呢,就是我们自定义的对吧,那自定义的source同样的那个要定义什么类型对吧,类型就是用什么。全类名吧,啊,一样的,你自己定义的,无论后面还有很多自定义内容,都会要用到什么全类名啊,都会用到这个全类名,这个要注意一下啊,那我们同样的还是通过这个地方来配一下啊。 
- 02:07 - From叫我,然后那个my think啊,麦啊,然后我们需要找一下之前的那个案例,一个官方例那个案例这个对吧,其实我只要把它CTR a ctrl c给它扔到这里边来,然后改哪个地方。改这一个地方吧,啊,改这一个地方,然后把全名给我们。拿过来copy reference,然后呢,给它放在这。好,那接下来应该还有一些东西吧。前缀后缀对吧,还有一个。写的是萨,写的是啊。写的效果OK,那前后缀我们给他一个,呃,后缀是不是我们看到的有什么。 
- 03:02 - 有默认值的对吧,啊,那这样。那这个前缀给个什么东西呢?睡觉是吧。那喜欢睡觉吗?后缀我们给他来一个先改掉吧,啊先改掉,改一个什么东西,醒醒啊金啊金咋写。英文这样吗?就音是吧,我拒绝,我拒绝,班长是班长,你们要你还是你看你们谁还是想睡?班长要前面写个睡觉,然后你说班长你想干什么?睡过了,谁睡过?OK吧,加点这个分割符可以吧,加点分割符,因为这一次呢,我们并没有在这里边去干什么。 
- 04:02 - 加分割符啊,所以呢,我在外面去添加一个分割符可以吧,分割符OKS做一个保存,然后接下来我们就可以做测试了吧。CD出来b from NG叫agent,杠C-F,这个job底下有一个MYSH,对吧,然后杠N,我们里面用的是。A1,对吧,啊,注意看一下A1好,注意这个时候要加那个我们所讲的那个东西了,杠D了,因为此时我们用的是什么logo,你得指定一下它打印到控制台啊,我们从这个地方拿一下啊。啊,这个参数对我们那个logo同样适用啊,同样适用,OK,然后我应该再开一个那个窗口的。嗯。做一个启动啊,启动了,启动之后这块应该写NC。 
- 05:02 - 好的,哎,怎么加一个空格了是吧,五个是吧。哎。这款一成了,稍等啊。CRC,我们看一下这个什么异常。呃,启动之后他就报一场说。Close when transaction is open开启的时候打开,你必须要提交。提交之后才能去正常一个关闭啊,那这个代码是这样的。得有正常的一个事物,当时我们也能测他这个意思啊,就是说你事物开启了,事物开启了,因为我们当前没有数据。去提交吧,没有数据提交,然后最后是不是finally给他给他干什么。你关闭了,他就说这个事啊,其实不影响我们这样一个测试,不是不影响我们这样一个测试,来啊走一下。然后呢,这块走啊,输入一个东西,谁想睡班长。 
- 06:04 - 刚才说都想睡傻柱是吗?过来啊,这个还是那个异常啊,我们看一下这个数据啊,再一次获取数据。等一下。这个异常,那我们也得处理一下啊,这个这种写法还不行好,所以刚才。看改掉,那这个代码呢,给调整一下,就是因为我们没有办法保证这个事情,那这样,嗯,关闭呢,我们调一个地方。这个地方给它换掉,或者说finally,我看一下当前这个事物从这里边。China里边获取一个。事物,然后开启这个事物。开启事务之后呢,去判断这个数据啊,判断数据是否为空,那这样,因为当前这个数据没有传过来吧,没有传过来我们可以做一个这个事儿就可以了,If这个even干什么。 
- 07:02 - 不等于那对吧,不等于空的时候我们做什么事啊。做这个提交啊,做这个提交,我们试一下这个做这个提交啊,我看一下这个合不合逻辑,因为就是刚才是最开始的时候,我们并没有数据获取到了啊,没有数据触发这一个运行,呃,我看一下看他这个事情。让它不为空的时候,我们再走这个,然后去密,呃,无论有没有数据,我们都返回这个提交状态为。然后呢,去把这个事物关闭,我们测一下这个。重新打包,那这个时候光明一样的,我直接覆盖就可以了吧,对吧。打包好了。啊。有点花瓶啊,但没办法了,已经调到最差的画质了。就是我操作慢一点,对吧,操作慢一点。 
- 08:01 - 那调到最好的不是花饼了,就卡了不动了,估计因为咱们班人多,因为那个像那个通蜘蛛啊,还有那个我们所说的那个飞秋啊,这种只要人一多就就就这样啊,整场那个带宽。看一下这款会不会就去报一场,还是会什么我看一下啊呃。It's open,我看一下这个问题所在啊。不关肯定可以,这个东西呢,不关肯定可以。Finally里边关闭,这样我们应该在哪关。科密了之后,对吧,啊,科密之后不要在翻那里,因为翻那里无论走不走,他都干什么都去关一下对吧?啊在这去关,因为提交完成之后,我们给它关一下,关一下在这。好。那这个东西我们走一下。把这个又要重新干什么,注意你这种你要重新打包啊打包。 
- 09:06 - 跟上。看一下。还是会进来啊,我想一下啊,这个地方。一问不等于当这种判断F不行,也就是说它还是会进来这个地方,对吧?T,现在没有失误啊,他凭啥会进来?对对,不是。后缀民不是不是啊,呃,会覆盖啊,那这样那样做一个测试。RM-RF这个。 
- 10:00 - 我们的家包叫呆,对吧?我们DEMO把这个包删掉啊,删掉那这样一个最简单的一个测试方法就干什么,先把它关闭测一下啊。把这个干掉,把这个干掉。好好加油,呃,然后呢,我们重新打个包,刚才呢,我们已经把之前那个我们打的包干什么给您删掉了啊,这块肯定不会有那个说加载到环境面料里边有冲突。给他扔进来啊,还有扔到这。正常的应该是会覆盖掉的,因为名字每次打包的名字应该是完全一样的。重新走一下。稍等一会儿。呃,我看一下这个错啊,这挺奇怪的,今天他说begin when open。哦,他说这个开启方法调的有问题。对,开启方法调的有问题,那还是要关闭。 
- 11:04 - 还是要关闭啊。那之前改的那个东西没用是吗?是关闭。关闭我看一下啊,来捋一下这个逻辑,因为他这样的,他第一次循环进来是没问题的,但是第二次的时候,因为我们刚才把这个关闭干掉了,对吧,关闭干掉它没没关没关之后呢,你又开了,它也有问题。你又开了,有问题啊。关闭,那这样很简单啊,因为他这个官方文档里边提供的那个内容没有写怎么关闭对吧,那我们应该去哪找一个内容呢。Crh找一个时间内这有一个log thing,看一下它是怎么去关闭的不就OK了吗?判断even的违规空,然后else返回,然后去commit传三个人,不还是在finally里边啊。对吧,跟我们之前写的一样的呀。 
- 12:00 - 还是在分类里边啊。来我们调一下啊,这个代码,呃,还是把这个什么finally,因为我们之前因为这个事物的关闭应该是在finally里,无论怎么样,他有没有都应该去关闭,对吧,因为第二次它又重新开了,好关闭写在这啊,这个呢,我们写一下这个11,这个叫关闭数啊关闭数OK,呃,然后接下来我们看一下啊。提交。这边的话。有没有even的都去提交,诶这块提交应该给他拿到这儿来。啊,没有没有的话,这个事物呢,也要做相应的一个提交,相应的提交even档,然后去触发它的一个运行,这个是处理我们的事件,如果说事件不会空就进来,然后去提交,提交完了之后呢,去close啊close OK这种逻辑吧,我们走一下,然后同样的还是安全起见,把这个什么。给他干掉了,给他干掉OK一下啊,这样clean一下,再clean一下,最好清一下。 
- 13:08 - 感觉这个包每次打出来好像改东西没没生效那种感觉一样,清掉他给的文件没了吧,啊,没了,重新打包,重新打包。啊,走一下啊,然后呢,把这个target里边这个东西给他拿过来。PW这个是那个立波吧,好没问题,然后呢,我们呃,重新走一下走。这个可以了,对吧,啊,应该是等了这么长时间正常的,刚才没有等这么长时间啊,那跟刚才没什么差别啊。等会我们看一下。12345对吧,啊,还是那个问题了,谁想睡,班长都想睡是吧,你开始说的。是谁说的,都想睡? 
- 14:02 - 啊。谁文龙是吗?啊,走。我们的那个没生效是吗?配置文件没生效啊,傻了傻了傻了,你们也没注意,不是前面获取配置文件真没用啊。这没用吗?对吧,那怎么会生效啊,赶紧改一下,你们也没注意到这个点是吧,所以这光把谁打出来了,文龙打出来没睡到吧,你看再赶紧改一下啊,给文龙一个机会是不是啊。钱没什么。呃,这样body啊,不不用在这加了。 
- 15:06 - 这个就是包在这儿加一下不就行了吗?Prex对吧,加上,然后再加上一个什么,但是我们这个加在一块又太长了是不是。诶,不不会,我们这个log没有那个最大值限制,那个它自带的那个log是不是有最大值限制16个字节,对吧?啊,我们这个没写啊没写啊,全部打印出来好,嗯,这个地方呢,我们又要干什么,重新打个包,你刚才也不也没人提醒,我都没注意到这个点什么。啊,都在想着怎么睡是吗?你们太坏了。还是一样的,为了安全起见,就干什么删一下吧啊,其实其实理论来说应该是可以覆盖掉的,应该是可以覆盖掉的,但是为了安全起见一点给它删掉。啊,进来之后重新啊给文龙一个机会是吧。 
- 16:06 - 然后文龙又来了。修整了一下装备是吧?哎,你看在一块了是吧,啊在一块了,这样就是我们自己写的OK啊正常的就是,呃,你要注意就生长环境当中的这一块东西。根据什么来啊,业务吧啊业务逻辑,我们只是简单的用logo来印了一下啊,Logo来打印,而且你其实能看到这里边呢,就是有他的一个info啊,这块就是它前面所加的一个内容,然后呢,是里所在的一个东西啊,你如果说你写的是A。之前我们是看到有很多error这个东西的,它怎么出来的呢?是这样的,来,我们来给他大家演示一下,这个地方写什么A就行了,A它就是级别的一个日志,OK,呃,那又要重新干什么?打包啊,这个测试就比较麻烦,因为它不是说像那个MR你直接改一下,直接运行就行了吧。 
- 17:04 - 它这个东西啊,就比较麻烦,因为你只能在进行测好扔进来,我这个就没有去删除对吧,让他直接覆盖的走向。好,这个就走完了,走完之后呢。文龙,谁班长又错了是吧?是一个错误。对吧,啊,他俩说一块不是错误吗?对吧?啊,那这个呢,就是说你之前看到的日志都是这样,通过这种方式来打印出来的,能听懂啊,用log点你看到很多的类里边,进到源码里面,看到很多类里边,前面都会有一个什么。Log对象我们来找几个看一下啊,就正好这个log附近,呃,这个log single来看一下它肯定有什么。是不是log对象对吧,你再找几个类,包括我们S里边是不是照样也会打印日志,说S启动的还有印象吗?对吧,啊,在这个地方crh找一个。 
- 18:01 - 这个。是不是有logo对吧,他都是通过这种,那这里边呢,会有抓到异常呢,他就会去打印什么正常的,他会打印O说so study嘛,是不是我们在那个里面能看到谁谁谁study嘛,对吧?啊然后正常的还有我们这样么搜这个logf。往下走,这都是音符,然后。睡完了就下线,怎么能这样呢啊好一步,然后这个开始抓到异常了就等于什么。Error吧啊打印error等等的哎,你都能看到,它都是通过这样的一个方式来做具体的一个日志打印的啊,日志打印的这是第八个吧,啊第八个测试的时候,测试的时候它会走到这块的一个代码啊,包括关闭的时候是不是一些正常的信息啊,假如说关闭的过程当中遇到异常了。开始的时候,这还是第8UG是吧,第8UG哎,有时候他用这个,这要抓了异常,So不等于档啊,关闭掉的时候,关闭过程当中,如果说出现了异常,他说什么。 
- 19:01 - 不能够关闭这个socket,因为我们之前说ne不是接听端口嘛,用的就是这个什么socket通信的一个方式啊,所以你呢,在这里面能看到这个socket。然后具体的这个exception的一个信息。直接把E这个对象放在这了,做一个打印吧,啊做个打印是这个意思啊,也就是说你要后面要用到这个logo的时候啊,你要注意一下啊,就是前面第一一个logo,后面呢,你可以用debug inform form,还有这个error等等来打印日志啊,打印志啊,然后呢,你可以控制日志的一个级别,对吧,那这块呢,我们打印的不是inform吗?我可以给它改成什么。挨着的了。Error,好,你看它比刚才的日志打印的要叫少很多吧,因为它只打印L机比error还严重的,对吧,还有一个致命的,其实还有一个叫这个艾是错误吧,还有个级别叫致命的。啊叫致命的啊叫致命的错误,OK,那这块呢,我们看一下,那正常的,之前我们写的里面是error对吧?A艾硅谷啊,班长现在在还的硅谷。 
- 20:06 - 那这条日志是能出来的吧,因为它是属于什么级别啊,AO级别的,I级别的啊,也就是说它这个里面定义的很多的什么AO啊,这些东西啊,都是定义它那个级别的内容在里边的啊,能听懂好这个呢完俩这个是最后的这一个测试,那这里边一个点就是我们当时改了一个地方对吧。呃,来看一下。应该是这样的,分析一下过程啊,改了之后为什么就好了啊。是这样的,因为当时我们这个even。应该是一个什么。第一次是一个空的,空的之后呢,也就是说他在这块空了事物有提交吗。没有提交,没有提交,因为你是一个空的,你是不是用到了这个区域。调内容啊,是不是抛异常了,抛异常之后,他直接走到这个catch里边。就回滚,回滚其实也没有什么东西,对吧,直接回滚,然后做什么close,就是你没有提交就close,这个是不对的,能听懂啊,所以呢,我们加了一个什么。 
- 21:07 - 判断当前这个事件是否被控制后就好了啊,判断一下这只是在这块改了,你不要看到中间改了很多次,其实跟跟之前我们第一次写的代码之后只是加了一个什么。一换弹,当然这把它加回来,这个肯定不会是影响我们所说的报错那个问题了,对吧?啊报错那个问题啊,也就是说它其实是这样的,它里边为空了,因为第一次我们刚启动的时候,我们那边客户端没开吧,没开他能获取到数据吗。获取不到他空了,空了之后这边掉一个空的东西,掉盖到包底能掉到吗?直接走这个地方,也就是说它事物没有什么没有提交对吧,从catchche就走了吧,开完之后。他应该走的是finally,因为B走嘛,Finally里边去关闭,那这个就有问题了,没有提交就关闭了,对吧,那我们如果把关闭干掉。第一次是能正常走的,但第二次你没有关,又把手开了,它又有问题了吧?啊,是这个意思啊。 
我来说两句