如果需要添加的环境不是Apollo预先定义的环境,请参照如下步骤操作:
假设需要添加的环境名称叫sit
修改com.ctrip.framework.apollo.core.enums.Env类,在其中加入SIT枚举:
public enum Env{
LOCAL, DEV, SIT, FWS, FAT, UAT, LPT, PRO, TOOLS, UNKNOWN;
...
}
修改com.ctrip.framework.apollo.core.enums.EnvUtils类,在其中加入SIT枚举的转换逻辑:
public final class EnvUtils {
public static Env transformEnv(String envName) {
if (StringUtils.isBlank(envName)) {
return Env.UNKNOWN;
}
switch (envName.trim().toUpperCase()) {
...
case "SIT":
return Env.SIT;
...
default:
return Env.UNKNOWN;
}
}
}
修改apollo-env.properties,增加sit.meta占位符:
local.meta=http://127.0.0.1:18080
dev.meta=http://127.0.0.1:18080
sit.meta=http://127.0.0.1:18081
uat.meta=http://127.0.0.1:18082
修改com.ctrip.framework.apollo.core.internals.LegacyMetaServerProvider类,增加读取SIT环境的meta server地址逻辑:
public class MetaDomainConsts {
...
domains.put(Env.SIT,
env.getProperty("sit_meta", prop.getProperty("sit.meta")));
...
}
到此结束,然后就可以编辑代码,生成可执行jar包,放到服务器上运行,具体配置请参考:使用apollo管理多个环境的服务配置