博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RocketMQ之broker读取本地文件数据
阅读量:6164 次
发布时间:2019-06-21

本文共 1505 字,大约阅读时间需要 5 分钟。

这个load操作发生在启动broker的时候。

所以我们直接进入DefaultMessageStore的load()方法:

/**     * 加载数据     *     * @throws IOException     */    public boolean load() {        boolean result = true;        try {            boolean lastExitOK = !this.isTempFileExist();            log.info("last shutdown {}", (lastExitOK ? "normally" : "abnormally"));            // load 定时进度            // 这个步骤要放置到最前面,从CommitLog里Recover定时消息需要依赖加载的定时级别参数            // slave依赖scheduleMessageService做定时消息的恢复            if (null != scheduleMessageService) {                result = result && this.scheduleMessageService.load();            }            // load Commit Log            result = result && this.commitLog.load();            // load Consume Queue            result = result && this.loadConsumeQueue();            if (result) {                this.storeCheckpoint =                        new StoreCheckpoint(StorePathConfigHelper.getStoreCheckpoint(this.messageStoreConfig.getStorePathRootDir()));                this.indexService.load(lastExitOK);                // 尝试恢复数据                this.recover(lastExitOK);                log.info("load over, and the max phy offset = {}", this.getMaxPhyOffset());            }        } catch (Exception e) {            log.error("load exception", e);            result = false;        }        if (!result) {            this.allocateMapedFileService.shutdown();        }        return result;    }

 

新开了一篇来写:http://www.cnblogs.com/guazi/p/6836112.html

 

转载于:https://www.cnblogs.com/guazi/p/6675541.html

你可能感兴趣的文章
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案...
查看>>
巧用VMware Workstation的clone来制作虚拟机模板
查看>>
Spring-Mybatis MapperScannerConfigurer 取不到PropertyPlaceholderConfigurer里的值
查看>>
HP DL380G4服务器前面板指示灯的含义
查看>>
数据结构_树结构
查看>>
常用URL地址
查看>>
每天一个linux命令(19):find 命令概览
查看>>
MySQL kill操作
查看>>
windows下看端口占用
查看>>
Decommissioning a Domain Controller 降域控
查看>>
Character中的奇葩
查看>>
c++书籍推荐
查看>>
轻松监听Azure service health 状态
查看>>
获取SQL SERVER某个数据库中所有存储过程的参数
查看>>
在Linux下编译安装Apache2(2)
查看>>
Method Swizzling 处理一类简单的崩溃
查看>>
AngularJS学习!
查看>>
在Eclipse中搭建Python Django
查看>>
struts国际化
查看>>
Laravel 5.0 - Middleware (中间件)
查看>>