1.切换了新的conf加载算法。

2.增加了conf加载算法测试类。
This commit is contained in:
wusheng 2015-11-07 12:14:08 +08:00
parent 22689e96ab
commit 129a47d868
2 changed files with 22 additions and 21 deletions

View File

@ -13,27 +13,6 @@ public class ConfigInitializer {
public static Logger logger = LogManager.getLogger(ConfigInitializer.class);
public static void initialize(Properties properties, Class<?> rootConfigType) throws IllegalAccessException {
for (Class innerConfiguration : rootConfigType.getClasses()) {
for (Field field : innerConfiguration.getFields()) {
if (9 != field.getModifiers())
continue;
String configKey = (innerConfiguration.getSimpleName() + "." +
field.getName()).toLowerCase();
String value = properties.getProperty(configKey);
if (value != null) {
if (field.getType().equals(int.class))
field.set(null, Integer.valueOf(value));
if (field.getType().equals(String.class))
field.set(null, value);
if (field.getType().equals(long.class))
field.set(null, Long.valueOf(value));
}
logger.debug("{}={}", configKey, value);
}
}
}
public static void initialize2(Properties properties, Class<?> rootConfigType) throws IllegalAccessException {
initNextLevel(properties, rootConfigType, new ConfigDesc());
}

View File

@ -0,0 +1,22 @@
package com.ai.cloud.skywalking.conf;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.junit.Test;
import com.ai.cloud.skywalking.reciever.conf.Config;
import com.ai.cloud.skywalking.reciever.conf.ConfigInitializer;
public class ConfigInitailizerTest {
@Test
public void testInitialize2() throws IOException, IllegalAccessException{
Properties p = new Properties();
InputStream in = ConfigInitializer.class.getResourceAsStream("/config.properties");
p.load(in);
in.close();
ConfigInitializer.initialize(p, Config.class);
}
}