数据源注册过程

最后更新:2024-12-06 12:38:36 | 状态:未完成
一、  自动注册
系统启动时读取配置文件,先根据anyline.datasource-list读取数据源列表,再根据列表读取每个数据源的连接、帐号密码等参数,最后调用DataSourceHolder.reg()方法

二、  手动注册
动态数据源经常需要在运行过程中注册,如用户动态提交的数据源,与自动注册类似,在接收到数据源参数后同样调用DataSourceHolder.reg()方法

reg方法内根据数据源参数特征到holder池中匹配到相应的Holder,这里的特征主要是指连接协议、驱动类、数据库产品名称等,如果以上特征无法准确识别可能直接添加&adapter=mysql参数来显示指定holder类型。如ElasticSearch等使用通用的http协议、doris,mysql都用了同样的jdbc:mysql协议

Holder.reg()执行过程

1.  先创建连接池对象(JDBC类型数据源)
2.  为当前数据源创建事务管理器
3.  创建DataRuntime对象,runtime创建过程中会创建service,dao

并直接或间接维护了一组数据源标识,数据源特征,事务管理器、adapter、actuator

后续操作数据源时通过service来操作,每个service上都绑定了上面说到的一组对象


首页 最近更新 搜索 提交 回复