这篇文章主要讲解了“Receiver怎么启动”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Receiver怎么启动”吧!
Receiver是通过ReceiverSupervisor的start方法启动的:
首先会调用ReceiverSupervisor的onStart()方法
registeredBlockGenerators是在ReceiverSupervisor实例化时被赋值的:<具体是在父类ReceiverSupervisorImpl中实现的>
调用BlockGenerator的start方法
blockIntervalTimer是一个定时器,到时间了就调用updateCurrentBuffer函数
定时器会不断的调用这个方法
改线程默认会每个200毫秒运行一次
triggerActionForNextInterval会调用如下的回调方法:
会把当前时间段内收到的数据,分装为一个block,并将其加入队列中
再来看看
可以看出每隔10毫秒调用一次 pushBlocak 方法
调用到了监听器的,这个方法
数据会交给receivedBlockHandler进行存储,也会保存的数据的元数据信息汇报给receiverTracker
ReceivedBlockHandler有两种保存数据的方法,一种是预写日志的方式,一种是直接进行存储
感谢各位的阅读,以上就是“Receiver怎么启动”的内容了,经过本文的学习后,相信大家对Receiver怎么启动这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。