首页 > 代码库 > DefaultMessageStore-CommitLog-MapedFileQueue.allocateMapedFileService初始化链
DefaultMessageStore-CommitLog-MapedFileQueue.allocateMapedFileService初始化链
刚刚在研究rocketmq生成文件的源码。零时记录一下MapedFileQueue中属性AllocateMapedFileService allocateMapedFileService的初始化链。
首先这个服务实在DefaultMessageStore中初始化完成并启动的,然后DefaultMessageStore把AllocateMapedFileService对象传给了CommitLog(绿色箭头)
然后CommitLog初始化MapedFileQueue的时候又穿给了它。
最终MapedFileQueue有了两种创建文件的方式,一种就是这个服务线程:AllocateMapedFileService
使用起来也很方便:
只要调用它的这个方法就可以了:
allocateMapedFileService.putRequestAndReturnMapedFile(nextFilePath, nextNextFilePath, this.mapedFileSize);
这个方法会把这三个参数分装,然后放入它的优先级队列中PriorityBlockingQueue,这个服务线程就会不断的从这个优先级队列中拿需要创建文件的参数来创建文件来。
DefaultMessageStore-CommitLog-MapedFileQueue.allocateMapedFileService初始化链
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。