Задача вычитать из конфига ключ и при необходимости использовать ключ из памяти, а не постоянно вычитывать и тратить ресурсы
Проблема что не выходит толком реализовать с помощью синглтона конструктор класса (public LoggerImpl (PropertiesLoader propertiesLoader)) который считывает из файла конфига строчку с ключем "accessToken".
Подскажите, пожалуйста, как можно реализвать Синглтотом одноразовое считывание файла?
package org.BrovaryCityCouncil.logging;
import com.rollbar.Rollbar;
import org.BrovaryCityCouncil.properties.PropertiesLoader;
public class LoggerImpl implements Logger {
private PropertiesLoader propertiesLoader;
private Rollbar rollbar;
private static LoggerImpl instance;
public LoggerImpl() {
super();
}
public synchronized LoggerImpl getInstance(){
if (instance == null){
instance = new LoggerImpl(propertiesLoader);
}
return instance;
}
public LoggerImpl (PropertiesLoader propertiesLoader) {
this.propertiesLoader = propertiesLoader;
// считываем из файла конфига
rollbar = new Rollbar(propertiesLoader.getProperty("accessToken"), "production");
}
public void logWarning(Throwable error) {
rollbar.warning(error);
}
public void logCritical(Throwable error) {
rollbar.critical(error);
}
public void logInfo(Throwable error) {
rollbar.info(error);
}
public void logDebug(Throwable error) {
rollbar.debug(error);
}
public void logger(Throwable error) {
rollbar.log(error);
}
public void logError(Throwable error) {
rollbar.error(error);
}
public Rollbar getRollbar() throws Exception {
return rollbar;
}
}
Сlass PropertiesLoaderImpl
public class PropertiesLoaderImpl implements PropertiesLoader {
@Override
public String getProperty(String propertyName) {
Properties properties = new Properties();
try {
FileInputStream file = new FileInputStream("src/main/resources/config.properties");
properties.load(file);
return properties.getProperty(propertyName);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости