项目结构调整 x 4

This commit is contained in:
YunaiV
2021-04-28 20:40:48 +08:00
parent 90e4966420
commit e35dde1207
7 changed files with 74 additions and 8 deletions

View File

@ -1,9 +1,13 @@
package cn.iocoder.dashboard.framework.apollo.internals;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.iocoder.dashboard.framework.apollo.core.ConfigConsts;
import cn.iocoder.dashboard.framework.apollo.internals.dto.ConfigRespDTO;
import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.dashboard.util.object.ObjectUtils;
import com.ctrip.framework.apollo.Apollo;
import com.ctrip.framework.apollo.build.ApolloInjector;
import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory;
@ -13,8 +17,10 @@ import com.ctrip.framework.apollo.internals.ConfigRepository;
import com.ctrip.framework.apollo.tracer.Tracer;
import com.ctrip.framework.apollo.util.ConfigUtil;
import com.ctrip.framework.apollo.util.factory.PropertiesFactory;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Constructor;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
@ -58,9 +64,7 @@ public class DBConfigRepository extends AbstractConfigRepository {
this.propertiesFactory = ApolloInjector.getInstance(PropertiesFactory.class);
this.m_configUtil = ApolloInjector.getInstance(ConfigUtil.class);
// 初始化 DB
cn.iocoder.dashboard.modules.infra.dal.mysql.config
this.configFrameworkDAO = new InfConfigDAOImpl(System.getProperty(ConfigConsts.APOLLO_JDBC_URL),
System.getProperty(ConfigConsts.APOLLO_JDBC_USERNAME), System.getProperty(ConfigConsts.APOLLO_JDBC_PASSWORD));
this.configFrameworkDAO = createConfigFrameworkDAO();
// 初始化加载
this.trySync();
@ -71,6 +75,18 @@ public class DBConfigRepository extends AbstractConfigRepository {
INSTANCE = this;
}
@SneakyThrows
private static ConfigFrameworkDAO createConfigFrameworkDAO() {
String dao = System.getProperty(ConfigConsts.APOLLO_JDBC_DAO);
String url = System.getProperty(ConfigConsts.APOLLO_JDBC_URL);
String username = System.getProperty(ConfigConsts.APOLLO_JDBC_USERNAME);
String password = System.getProperty(ConfigConsts.APOLLO_JDBC_PASSWORD);
// 创建 DBConfigRepository 对象
Class<? extends ConfigFrameworkDAO> clazz = ClassUtil.loadClass(dao);
Constructor<? extends ConfigFrameworkDAO> constructor = ReflectUtil.getConstructor(clazz, String.class, String.class, String.class);
return constructor.newInstance(url, username, password);
}
/**
* 通知同步,
*/

View File

@ -23,8 +23,8 @@ public class ApolloApplicationContextInitializer implements EnvironmentPostProce
private int order = DEFAULT_ORDER;
private static final String[] APOLLO_SYSTEM_PROPERTIES = {ConfigConsts.APOLLO_JDBC_URL,
ConfigConsts.APOLLO_JDBC_USERNAME, ConfigConsts.APOLLO_JDBC_PASSWORD};
private static final String[] APOLLO_SYSTEM_PROPERTIES = {ConfigConsts.APOLLO_JDBC_DAO,
ConfigConsts.APOLLO_JDBC_URL, ConfigConsts.APOLLO_JDBC_USERNAME, ConfigConsts.APOLLO_JDBC_PASSWORD};
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {