Commit 9f7a2a58 authored by JaredTan95's avatar JaredTan95

Squashed commit of the following:

commit 49a8bd839e1f13c0c3b91f8d314dd4cb3fca1e3e
Merge: 211848897 e34cdce4f
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sun Oct 14 12:33:46 2018 +0800

    Merge branch 'master' of https://github.com/JaredTan95/apollo

commit 2118488976059333c8e4c006d98cb37d81097a11
Author: nobodyiam <nobodyiam@gmail.com>
Date:   Sat Oct 13 16:49:39 2018 +0800

    version to 1.1.1

    clean code.

    fix code style.

commit 9e32fcc48b8c7dfbc3c3869ccc81091a0890a02a
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sat Oct 13 14:51:20 2018 +0800

    Support to override meta server url through environment variables.

commit e34cdce4f33528690deec7c3660dba514c3aeaef
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sun Oct 14 09:35:35 2018 +0800

    fix code style.

commit 58e6fc7eef58f9623eb542c255ded0da59bb0852
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sat Oct 13 20:15:38 2018 +0800

    clean code.

commit a7fcbecdec389215ea9ad73db627e1cb2d425f41
Merge: 15532fdf9 c22ac563
Author: Jared.Tan <jian.tan@daocloud.io>
Date:   Sat Oct 13 17:25:14 2018 +0800

    Merge branch 'master' into master

commit 15532fdf9ecb703f21f4f743a4651b6ae003f24c
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sat Oct 13 17:23:27 2018 +0800

    refactoring legacy mete server and fix mistake in Dockerfile.

commit 3c9b00e24df47ee42a74771aa94fd2c383084b30
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sat Oct 13 16:37:04 2018 +0800

    modify Dockerfile Env `Version` to prevent duplicate changes and errors

commit 9ec44a8954460ae72aa27300ea519e2d0c99f470
Author: JaredTan95 <jian.tan@daocloud.io>
Date:   Sat Oct 13 14:51:20 2018 +0800

    Support to override meta server url through environment variables.
parent 3743d836
package com.ctrip.framework.apollo.core.internals;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import com.ctrip.framework.apollo.core.enums.Env;
import com.ctrip.framework.apollo.core.spi.MetaServerProvider;
import com.ctrip.framework.apollo.core.utils.ResourceUtils;
import com.google.common.base.Strings;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* For legacy meta server configuration use, i.e. apollo-env.properties
*/
public class LegacyMetaServerProvider implements MetaServerProvider {
// make it as lowest as possible, yet not the lowest
public static final int ORDER = MetaServerProvider.LOWEST_PRECEDENCE - 1;
private static final Map<Env, String> domains = new HashMap<>();
......@@ -23,19 +24,27 @@ public class LegacyMetaServerProvider implements MetaServerProvider {
private void initialize() {
Properties prop = new Properties();
prop = ResourceUtils.readConfigFile("apollo-env.properties", prop);
Properties env = System.getProperties();
domains.put(Env.LOCAL,
env.getProperty("local_meta", prop.getProperty("local.meta")));
domains.put(Env.DEV,
env.getProperty("dev_meta", prop.getProperty("dev.meta")));
domains.put(Env.FAT,
env.getProperty("fat_meta", prop.getProperty("fat.meta")));
domains.put(Env.UAT,
env.getProperty("uat_meta", prop.getProperty("uat.meta")));
domains.put(Env.LPT,
env.getProperty("lpt_meta", prop.getProperty("lpt.meta")));
domains.put(Env.PRO,
env.getProperty("pro_meta", prop.getProperty("pro.meta")));
domains.put(Env.LOCAL, getMetaServerAddress(prop, "local_meta", "local.meta"));
domains.put(Env.DEV, getMetaServerAddress(prop, "dev_meta", "dev.meta"));
domains.put(Env.FAT, getMetaServerAddress(prop, "fat_meta", "fat.meta"));
domains.put(Env.UAT, getMetaServerAddress(prop, "uat_meta", "uat.meta"));
domains.put(Env.LPT, getMetaServerAddress(prop, "lpt_meta", "lpt.meta"));
domains.put(Env.PRO, getMetaServerAddress(prop, "pro_meta", "pro.meta"));
}
private String getMetaServerAddress(Properties prop, String sourceName, String propName) {
// 1. Get from System Property.
String metaAddress = System.getProperty(sourceName);
if (Strings.isNullOrEmpty(metaAddress)) {
// 2. Get from OS environment variable, which could not contain dot and is normally in UPPER case,like DEV_META.
metaAddress = System.getenv(sourceName.toUpperCase());
}
if (Strings.isNullOrEmpty(metaAddress)) {
// 3. Get from properties file.
metaAddress = prop.getProperty(propName);
}
return metaAddress;
}
@Override
......
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