zoukankan      html  css  js  c++  java
  • 24 配置项组织的一种方式

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Properties;
    
    /**
     * 所有配置项,配置加载与获取类
     */
    public class Conf {
        public static final Logger LOG= LoggerFactory.getLogger(Conf.class);
        public static final String DEFAULT_HBASE_ROOT_DIR="/hbase/data";
        private Properties propConf;
    
        public Conf(String confPath) {
            if(new File(confPath).exists()){
                propConf=new Properties();
                try {
                    propConf.load(new FileInputStream(new File(confPath)));
                } catch (IOException e) {
                    LOG.error("加载配置文件:{},出现异常,异常信息:{}",confPath,e.getMessage());
                    e.printStackTrace();
                }
            }else{
                LOG.error("配置文件:{}不存在,请查看配置路径是否正确",confPath);
            }
        }
    
        public static void main(String[] args) {
            Conf conf=new Conf("F:\IDE\HbaseTools\src\main\resources\exportConf.properties");
            String inputIps=conf.getInputIps();
            System.out.println(inputIps);
        }
    
        private String getValue(String key){
            if(null==propConf){
                return null;
            }
            return propConf.getProperty(key);
        }
        public String getSourceInput(){
            return  getValue(SourceConf.SOURCE_INPUT_FROM);
        }
        public String getInputIps(){
            return getValue(InputConf.INPUT_ENV_IPS);
        }
        public String getInputTableNames(){
            return getValue(InputConf.INPUT_HBASE_TABLENAME);
        }
        public String getInputRootDir(){
            String rootDir=getValue(InputConf.INPUT_HBASE_ROOTDIR);
            if(null==rootDir){
                rootDir=DEFAULT_HBASE_ROOT_DIR;
            }
            return rootDir;
        }
    
        public String getLocalDir(){
            return getValue(LocalConf.LOCAL_STORAGE_DIR);
        }
    
        public String getOutputIps(){
            return getValue(OutputConf.OUTPUT_ENV_IPS);
        }
    
        public String getOutputUserName(){
            return getValue(OutputConf.OUTPUT_ENV_USERNAME);
        }
        public String getOutputPassword(){
            return getValue(OutputConf.OUTPUT_ENV_PASSWORD);
        }
        public String getOutputHbaseRootDir(){
            String rootDir=getValue(OutputConf.OUTPUT_HBASE_ROOTDIR);
            if(null==rootDir){
                rootDir=DEFAULT_HBASE_ROOT_DIR;
            }
            return rootDir;
        }
        public String getOutputHbaseSetupDir(){
            return getValue(OutputConf.OUTPUT_ENV_HBASE_SETUP_DIR);
        }
    
        /**
         #数据来源 hdfs,local
         source.input.from=hdfs
         */
        public class SourceConf{
            public static final String SOURCE_INPUT_FROM="source.input.from";
            public static final String SOURCE_INPUT_FROM_HDFS="hdfs";
            public static final String SOURCE_INPUT_FROM_LOCAL="local";
        }
        /**
         #input为hbase数据迁出集群信息,output为hbase迁入集群信息
         input.env.ips=10.17.139.126,10.17.139.127,10.17.139.125
         #ALL 表示所有的表,tableName1,tableName2,tableName3...表示只导出这些表
         input.hbase.tableNames=ALL
         input.hbase.rootdir
         */
        public class InputConf{
            public static final String INPUT_ENV_IPS="input.env.ips";
            public static final String INPUT_HBASE_TABLENAME="input.hbase.tableNames";
            public static final String INPUT_HBASE_ROOTDIR="input.hbase.rootdir";
        }
    
        /**
         local.storage.dir=E:hbase
         */
        public class LocalConf{
            public static final String LOCAL_STORAGE_DIR="local.storage.dir";
        }
    
        /**
         output.env.ips=10.17.139.126,10.17.139.127,10.17.139.125
         output.env.userName=root
         output.env.password=123456
         #output.env.hbaseSetupDir=
         #output.hbase.rootdir=
         */
        public class OutputConf{
            public static final String OUTPUT_ENV_IPS="output.env.ips";
            public static final String OUTPUT_ENV_USERNAME="output.env.userName";
            public static final String OUTPUT_ENV_PASSWORD="output.env.password";
            public static final String OUTPUT_ENV_HBASE_SETUP_DIR="output.env.hbaseSetupDir";
            public static final String OUTPUT_HBASE_ROOTDIR="output.hbase.rootdir";
        }
    }
  • 相关阅读:
    linux一键安装filemanager和caddy
    搭建owncloud
    Linux下解压命令大全
    linux虚拟机调整分辨率
    [Javascript] ==与===区别
    [转]ActiveX控件安全初始化之一:实现ISafeObject接口
    C# 温故而知新:Stream篇(—)
    [转]C# 温故而知新:Stream篇(二)
    【转】C# 温故而知新:Stream篇(三)
    [转]在企业应用开发中遵循开源协议
  • 原文地址:https://www.cnblogs.com/yangh2016/p/6076998.html
Copyright © 2011-2022 走看看