シングルトンモードの読み取り構成ファイル

構成ファイルを読み取るときに、通常のJavaクラスを作成すると、呼び出されたときに複数回ロードおよび実行される場合があります。ただし、設定ファイルや属性の読み込みなどのデータは、事前に設定してあり、頻繁に変更することはありません。一度読み込むだけで、シングルトンモードが利用できます。

この機能を実現します。

package com.test.connect.hive;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Objects;
import java.util.Properties;


public  class HiveResourceInfo {

    private static HiveResourceInfo resourceInfo=null;
    private static Properties prop=null;
    private HiveResourceInfo(){}

    public static synchronized Properties getHiveConf() throws Exception {
        if(null == resourceInfo){
            resourceInfo=new HiveResourceInfo();
            InputStream inputStream = HiveResourceInfo.class
                    .getClassLoader()
                    .getResourceAsStream("connInfo/hive/hiveConf.properties");

            if (Objects.isNull(inputStream)) {
                throw new Exception("can not read connInfo/hive/hiveConf.properties");
            }
            if(null == prop){
                prop=new Properties();
            }
            prop.load(new InputStreamReader(inputStream,"UTF-8"));

        }

        return prop;
    }
}

注:ローカル読み取りファイルとサーバーのパスは異なる場合があります。さらに「/」を追加する必要があります。

おすすめ

転載: blog.csdn.net/Baron_ND/article/details/110132828