Java加载Properties配置文件工具类

Java加载Properties配置文件工具类

import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;


/**
 * Created by yang on 2017/1/5.
 * 静态配置
 */
public class Constants {

    private static Logger logger = Logger.getLogger(Constants.class);
    private static Map<String, String> configMap = null;


    static {
        Properties pt = new Properties();
        InputStream ist = null;
        try {
            ist = Constants.class.getClassLoader().getResourceAsStream("datasource-config.properties");
            pt.load(ist);
            configMap = new HashMap<String, String>(pt.keySet().size());
            logger.info("Constants list:");
            for (Object keyObj : pt.keySet()) {
                String key = keyObj.toString();
                Object objs = pt.get(key);
                logger.info(key + ":" + objs);
                configMap.put(key.trim(), objs.toString());
            }
        } catch (Exception e) {
            logger.error(e.getCause());
        } finally {
            try {
                if (null != ist) {
                    ist.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    private static String getSimpleValue(String key, String defaultValue) {
        String value = configMap.get(key);
        if (value == null || value.trim().length() == 0) {
            value = defaultValue;
        }
        assert StringUtils.isNotBlank(value);
        return value;
    }


    private static String getSimpleValue(String key) {
        return configMap.get(key).toString();
    }


    public static String getEsTopicHost() {
        return getSimpleValue("dataSource.es.topic.host");
    }


    public static String getEsUserLogHost() {
        return getSimpleValue("dataSource.es.userlog.host");
    }


    public static int getShardedPoolMaxTotal() {
        return Integer.valueOf(getSimpleValue("redis.shardedpool.maxtotal", "20")).intValue();
    }

    public static long getShardedPoolMaxWaitMillis() {
        return Long.valueOf(getSimpleValue("redis.shardedpool.maxwaitmillis", "1000")).longValue();
    }


    //redis
    public static String getRedisHost() {
        return getSimpleValue("redis.host");
    }

    public static String getRedisPort() {
        return getSimpleValue("redis.port", "6379");
    }


}

 

posted @ 2017-03-08 17:36  0xcafedaddy  阅读(351)  评论(0编辑  收藏  举报