NameServer 启动步骤三|学习笔记

简介: 快速学习 NameServer 启动步骤三

开发者学堂课程【RocketMQ 知识精讲与项目实战(第三阶段)NameServer 启动步骤三】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/704/detail/12463


NameServer 启动步骤三


步骤三:

在JVM进程关闭之前,先将线程池关闭,及时释放资源

boolean initResult = controller.initilize();

if ( !initResult) {

controller.shutdown( );system.exit( status: -3);

}

在controller初始化完成之后,启动之前需要进行以下操作:

//注册JVM钩子函数代码

JVM退出时,去执行call方法,call方法的作用是资源释放

Runtime.getRuntime().addshutdowHook(new ShutdownHook

Thread(Log,new callable<Void>() {

@override

public void call() throws Exception {

//释放资源

controller.shutdown( );

return null;

}));

在下面代码中将线程池关闭,做出资源释放:

public void shutdown() {

this.remotingserver.shutdown();

this.remotingExecutor.shutdown();

this.scheduledExecutorService.shutdown();

if (this.filewatchservice != null) {

this.filewatchservice. shutdown( );

}

}

NameServer启动流程总结:

image.pngimage.png首先是NameSrvrStartup,它是启动入口,在这里面是用main方法,在main中调用createNameServerController去创建NameServerController。创建NameServerController,首先要创建namesrvconfig,之后再创建nettyserverconfig,然后去填充namesrvconfig和nettyserverconfig配置类,通过这两个配置类创建NameServercontroller对象。之后启动controller,在启动controller时会进行一些初始化。在NameServerStartup中先完成初始化,在真正的启动controller,在启动之前还要在JVM里注册钩子函数,钩子函数的作用是在JVM退出时释放controller资源。

相关文章
|
机器学习/深度学习 缓存 监控
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
1698 0
Pytorch学习笔记(7):优化器、学习率及调整策略、动量
|
Docker 容器
docker容器查看所有没使用的镜像,并删除
docker容器查看所有没使用的镜像,并删除
1413 0
|
存储 Docker 容器
Docker Hub 镜像仓库
前言 Docker Hub 是 Docker 公司提供的官方公共 Docker 镜像注册表,允许用户存储、分享和获取 Docker 镜像。在 Docker Hub 上,你可以找到许多官方和社区维护的 Docker 镜像。 搜索镜像 登录后,你可以使用 Docker Hub 的搜索功能来查找感兴趣的镜像。你可以在搜索栏中输入关键词,然后浏览结果。 创建存储库 注册或登录到 Docker Hub,选择“创建存储库”按钮,选择公有库或者私有库。
9412 1
|
8月前
|
机器学习/深度学习 算法 前端开发
图解前向、反向传播算法,一看就懂!
前向传播是神经网络中信息从输入层经过隐藏层传递到输出层的过程。每个神经元接收前一层的输出,通过加权求和和激活函数处理后传递给下一层,最终生成预测结果。此过程涉及输入信号、加权求和、激活函数应用等步骤。前向传播用于生成预测结果,在训练阶段与真实标签比较以计算损失函数,并在推理阶段直接生成预测值。反向传播则利用链式法则计算损失函数相对于权重的梯度,调整参数以减小误差,从而优化模型性能。两者结合实现神经网络的有效训练和预测。
|
Docker 容器
在Docker中,Docker容器有几种状态?
在Docker中,Docker容器有几种状态?
|
4天前
|
人工智能 运维 安全
|
2天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
9天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
817 109