Druid服务启动代码流程
2023-03-27 14:38:25 7 举报
Druid服务启动代码流程
作者其他创作
大纲/内容
构建工具类命令
new RuntimeInfoModule()
run()
绑定Overlord相关的依赖注入Module
LifeCycle
getModules()
将配置属性绑定给Properties
执行配置注入Module
构建服务类命令
CliCoordinator
\"druid.extensions\" -> ExtensionsConfig.class\"druid.modules\" -> ModulesConfig.class
CliBroker
构建内部类命令
getFromExtensions()
makeInjector()
Main
绑定Historical相关的依赖注入Module
ServerRunnable
初始化扩展命令
addFromFileSystem
new DruidGuiceExtensions()
是否从类路径搜索
读取common.runtime配置
Y
JsonConfigProvider.bind()
new JacksonModule()
初始化一个命令行builder
JsonConfigProvider
CliOverlord
绑定Router相关的依赖注入Module
Druid启动流程
makeStartupInjector()
获取系统配置属性
N
绑定Coordinator相关的依赖注入Module
handler.start()
addFromClass
打印配置信息,需要在日志中过滤掉敏感信息的打印
new ConfigModule()
绑定MiddleManager相关的依赖注入Module
PropertiesModule
CliHistorical
new PropertiesModule()
启动时依赖注入
Guice.createInjector(...)
GuiceInjectors
initLifecycle()
查询和打印系统直接内存
lifecycle.start()
Initialization
CliRouter
解析参数
makeDefaultStartupModules
绑定Broker相关的依赖注入Module
获取扩展配置实例
CliMiddlerManager
GuiceRunnable
0 条评论
下一页