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";
    }
}
时间: 2024-08-25 13:58:41

24 配置项组织的一种方式的相关文章

2016/2/24 1,css有几种引入方式 2,div除了可以声明id来控制,还可以声明什么控制? 3,如何让2个div,并排显示。

1,css有几种引入方式 使用HTML标签的STYLE属性 将STYLE属性直接加在单个的HTML元素标签上,控制HTML标签的表现样式.这种引入CSS的方式是分散灵活方便,但缺乏整体性和规划性,不利于后期的修改和维护,当需要修改网站的样式时,一个相同的修改可能涉及多个地方,维护成本高.使用STYLE属性的样式效果最强,会覆盖掉其它几种引入方式的相同样式效果.   将样式代码写在页面<STYLE>...</STYLE>标签之中 <STYLE>...</STYLE&

(转载)Android数据存储三种方式总结

本文转载自:http://www.cnblogs.com/ITtangtang/p/3920916.html 本文介绍Android平台进行数据存储的三大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 其他: 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符

Android数据存储五种方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分

CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking)

CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking) 我在(Modern OpenGL用Shader拾取VBO内单一图元的思路和实现)记录了基于Color-Coded-Picking的拾取方法. 最近在整理CSharpGL时发现了一个问题:我只解决了用glDrawArrays();渲染时的拾取问题.如果是用glDrawElements();进行渲染,就会得到错误的图元. 本文就彻底解决这个拾取的问题.

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 选择调用的进程为 24 i386 getuid sys_getuid1647 i386 getgid sys_getgid16 使用库函数API方式 使用C代码中嵌入汇编代码方式

创建对象的第二种方式:克隆clone,要实现Cloneable接口

1 ackage com.wisezone.clone; 2 3 /** 4 * 空接口: 5 * 标识,告诉JVM,通行 6 * 1.克隆 7 * 2.序列化 8 * 9 * 创建对象的第二种方式:克隆clone,要实现Cloneable 10 * @author 王东海 11 * @2017年4月15日 12 */ 13 public class TestClone implements Cloneable 14 { 15 public String name; 16 17 public s

Ubuntu 安装 JDK 7 / JDK8 的两种方式

ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用ppa/源方式安装 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装oracle-java-installer jdk7 sudo apt-get install oracle-java7-inst

【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)

一,软件准备 coreseek4.1 (包含coreseek测试版和mmseg最新版本,以及测试数据包[内置中文分词与搜索.单字切分.mysql数据源.python数据源.RT实时索引等测试配置]) Mysql源码包 (必须选择与你已安装mysql的版本一致) 为了避免安装中出现依赖包缺失,你需要打一句鸡血: yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel exp