public FlumeConfiguration getFlumeConfiguration()

in pulsar-io/flume/src/main/java/org/apache/pulsar/io/flume/node/PropertiesFileConfigurationProvider.java [185:216]


    public FlumeConfiguration getFlumeConfiguration() {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(file));
            String resolverClassName = System.getProperty("propertiesImplementation",
                    DEFAULT_PROPERTIES_IMPLEMENTATION);
            Class<? extends Properties> propsclass = Class.forName(resolverClassName)
                    .asSubclass(Properties.class);
            Properties properties = propsclass.newInstance();
            properties.load(reader);
            return new FlumeConfiguration(toMap(properties));
        } catch (IOException ex) {
            LOGGER.error("Unable to load file:" + file
                    + " (I/O failure) - Exception follows.", ex);
        } catch (ClassNotFoundException | NoClassDefFoundError e) {
            LOGGER.error("Configuration resolver class not found", e);
        } catch (InstantiationException e) {
            LOGGER.error("Instantiation exception", e);
        } catch (IllegalAccessException e) {
            LOGGER.error("Illegal access exception", e);
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException ex) {
                    LOGGER.warn(
                            "Unable to close file reader for file: " + file, ex);
                }
            }
        }
        return new FlumeConfiguration(new HashMap<String, String>());
    }