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"; } }
本文来自博客园,作者:life_start,转载请注明原文链接:https://www.cnblogs.com/yangh2016/p/6076998.html