项目初始导入
This commit is contained in:
28
src/main/java/com/nis/datasource/CustomerContextHolder.java
Normal file
28
src/main/java/com/nis/datasource/CustomerContextHolder.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.nis.datasource;
|
||||
|
||||
public class CustomerContextHolder {
|
||||
public static final String DATA_SOURCE_A = "dataSourceA";
|
||||
public static final String DATA_SOURCE_B = "dataSourceB";
|
||||
public static final String DATA_SOURCE_C = "dataSourceC";
|
||||
public static final String DATA_SOURCE_D = "dataSourceD";
|
||||
public static final String DATA_SOURCE_E = "dataSourceE";
|
||||
public static final String DATA_SOURCE_F = "dataSourceF";
|
||||
public static final String DATA_SOURCE_G = "dataSourceG";
|
||||
public static final String DATA_SOURCE_H = "dataSourceH";
|
||||
|
||||
//线程本地环境
|
||||
private static final ThreadLocal<String> contextHolder = new ThreadLocal<String>();
|
||||
//设置数据源类型
|
||||
public static void setCustomerType(String customerType){
|
||||
contextHolder.set(customerType);
|
||||
}
|
||||
//获取数据源类型
|
||||
public static String getCustomerType(){
|
||||
return contextHolder.get();
|
||||
}
|
||||
//清除数据源类型
|
||||
public static void clearCustomerType(){
|
||||
contextHolder.remove();
|
||||
}
|
||||
|
||||
}
|
||||
12
src/main/java/com/nis/datasource/DynamicDataSource.java
Normal file
12
src/main/java/com/nis/datasource/DynamicDataSource.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.nis.datasource;
|
||||
|
||||
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
|
||||
|
||||
public class DynamicDataSource extends AbstractRoutingDataSource {
|
||||
|
||||
@Override
|
||||
protected Object determineCurrentLookupKey() {
|
||||
return CustomerContextHolder.getCustomerType();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user