Commit c3af0325 by qiuweili123

优化配置

parent d7ad3d84
......@@ -20,6 +20,10 @@ public interface DataSourceConstant {
*/
String DB_NAMESPACE = "arch.db_config";
/**
* 阿波罗应用配置命名空间
*/
String APP_NAMESPACE = "application";
/**
* 属性配置分割符
*/
String PROPETY_SPLIT_CHAR = "\\.";
......
......@@ -16,14 +16,17 @@ import java.util.Map;
public abstract class AbsDataSourceProvider<T extends MatrixDataSourceConfig> implements DataSourceProvider {
private Encryptor<String> encryptor = EncryptorFactory.getInstance().getEncryptor();
private Encryptor<String> encryptor;
@Resource
private DataSourceFactory dataSourceFactory;
private Class<T> entryClass;
public AbsDataSourceProvider() {
initEnvProperties();
entryClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
encryptor = EncryptorFactory.getInstance().getEncryptor();
}
......@@ -57,5 +60,10 @@ public abstract class AbsDataSourceProvider<T extends MatrixDataSourceConfig> im
protected abstract List<T> getDataSourceProperties();
/**
* 配置accessToken等信息
*/
protected abstract void initEnvProperties();
}
......@@ -10,6 +10,7 @@ import com.secoo.mall.datasource.config.MatrixDataSourceConfig;
import com.secoo.mall.datasource.constant.DataSourceConstant;
import com.secoo.mall.datasource.errorcode.DataSourceError;
import com.secoo.mall.datasource.properties.MatrixDataSourceProperties;
import com.secoo.mall.datasource.util.SysUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.reflect.MethodUtils;
......@@ -25,10 +26,6 @@ import java.util.stream.Collectors;
*/
@Slf4j
public class ApolloDataSourceProvider<T extends MatrixDataSourceConfig> extends AbsDataSourceProvider<T> {
/*
*/
/**
* 从appollo加载配置信息
*
......@@ -73,4 +70,11 @@ public class ApolloDataSourceProvider<T extends MatrixDataSourceConfig> extends
return list;
}
@Override
protected void initEnvProperties() {
Config appConfig = ConfigService.getConfig(DataSourceConstant.APP_NAMESPACE);
String acccessToken = appConfig.getProperty("config.app.security.accessToken", "default");
SysUtil.setProperty("accessToken", acccessToken);
}
}
......@@ -21,4 +21,9 @@ public class DefaultDataSourceProvider extends AbsDataSourceProvider<MatrixDataS
return this.dataSourceConfigs;
}
@Override
protected void initEnvProperties() {
}
}
......@@ -50,14 +50,9 @@ public class MatrixMybatisAutoConfiguration {
log.info("Init MatrixDataSouceAutoConfiguration");
}
@Value("${config.app.security.accessToken:jp32mbwQkxrygEAjNRsi}")
private String acccessToken;
@Bean
@ConditionalOnMissingBean(DataSourceProvider.class)
public DataSourceProvider dataSourceProvider() {
SysUtil.setProperty("accessToken", acccessToken);
return new ApolloDruidDataSourceProvider();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment