Commit 129a47d8 authored by 吴晟's avatar 吴晟
Browse files

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

2.增加了conf加载算法测试类。
parent 22689e96
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -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());
    }

+22 −0
Original line number Diff line number Diff line
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);
	}
}