Showing
1 changed file
with
8 additions
and
6 deletions
@@ -54,14 +54,16 @@ com.yoho.core.dal.datasource多数据源集群动态切换实现逻辑 | @@ -54,14 +54,16 @@ com.yoho.core.dal.datasource多数据源集群动态切换实现逻辑 | ||
54 | ### com.yoho.core.dal.datasource.DataSourceBeanFactory的init方法进行初始化具体过程如下: | 54 | ### com.yoho.core.dal.datasource.DataSourceBeanFactory的init方法进行初始化具体过程如下: |
55 | #### 3.1解析配置信息 | 55 | #### 3.1解析配置信息 |
56 | 从databasesMap中取出key=datasources的数据源信息,遍历处理后生成的信息有: | 56 | 从databasesMap中取出key=datasources的数据源信息,遍历处理后生成的信息有: |
57 | - dataSource: | 57 | + |
58 | +- dataSource: | ||
58 | 配置文件中的servers下的每个ip都会生成一个dataSource,连接池配置等信息在代码中写死,其他设置信息为beanId=schema@host, | 59 | 配置文件中的servers下的每个ip都会生成一个dataSource,连接池配置等信息在代码中写死,其他设置信息为beanId=schema@host, |
59 | 如上述配置文件中第一schema=yh_orders,该schema有两个dataSource,beanId分别为yh_orders@192.168.102.219:3306,yh_orders@192.168.102.219:3306,每个schema是一个集群保存中Map<String, String> dbClusterSet中。 | 60 | 如上述配置文件中第一schema=yh_orders,该schema有两个dataSource,beanId分别为yh_orders@192.168.102.219:3306,yh_orders@192.168.102.219:3306,每个schema是一个集群保存中Map<String, String> dbClusterSet中。 |
60 | - Map<String, String> dbClusterSet:key=schema,value=beanId,beanId,beanId... | ||
61 | - Map<String, String> daoDbClusterMap:key=具体dao,value=schema | ||
62 | - DefaultDBCluster:默认集群,没有指定schema的Dao默认是第一个schema,上述配置文件中是yh_orders。 | ||
63 | - dbClusterSet、daoDbClusterMap、DefaultDBCluster信息保存到MultiDataSourceRouter动态路由对象中。 | ||
64 | - 各个dataSource对象实例保存到List<DataSource> dataSources中。 | 61 | +- Map<String, String> dbClusterSet:key=schema,value=beanId,beanId,beanId... |
62 | +- Map<String, String> daoDbClusterMap:key=具体dao,value=schema | ||
63 | +- DefaultDBCluster:默认集群,没有指定schema的Dao默认是第一个schema,上述配置文件中是yh_orders。 | ||
64 | +- dbClusterSet、daoDbClusterMap、DefaultDBCluster信息保存到MultiDataSourceRouter动态路由对象中。 | ||
65 | +- 各个dataSource对象实例保存到List<DataSource> dataSources中。 | ||
66 | + | ||
65 | #### 3.2生成并注入动态数据源 | 67 | #### 3.2生成并注入动态数据源 |
66 | 3.2.1定义com.yoho.core.dal.datasource.DynamicDataSource继承AbstractRoutingDataSource实现determineCurrentLookupKey抽象方法, | 68 | 3.2.1定义com.yoho.core.dal.datasource.DynamicDataSource继承AbstractRoutingDataSource实现determineCurrentLookupKey抽象方法, |
67 | 69 |
-
Please register or login to post a comment