提交 129a47d8 编写于 作者: wu-sheng's avatar wu-sheng

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

2.增加了conf加载算法测试类。
上级 22689e96
......@@ -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());
}
......
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);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册