Archivo de configuración de lectura de modo singleton

Al leer el archivo de configuración, si escribimos una clase Java ordinaria, es posible que se cargue y ejecute varias veces cuando se la llame. Pero por ejemplo, los datos de archivos de configuración, carga de atributos, etc., los tenemos configurados de antemano y no los cambiaremos con frecuencia. Solo necesitamos cargarlos una vez cuando lo usemos. Luego podemos usar el modo singleton.

lograr esta función.

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;
    }
}

Nota: La ruta del archivo de lectura local y el servidor pueden ser diferentes, debe agregar más '/'

Supongo que te gusta

Origin blog.csdn.net/Baron_ND/article/details/110132828
Recomendado
Clasificación