У нас есть веб-приложение, основанное на JAX-RS &, для этого потребуется прочитать некоторую конфигурацию из файла свойств. Я написал вспомогательный класс ConfigurationProvider, который загружает эти свойства. Этот класс будет использоваться в нескольких классах. Мой вопрос: & где должен быть инициализирован ConfigurationProvider?Когда инициализировать свойства в Java EE webapp?
public class ConfigurationProvider {
private static Properties properties;
private static ConfigurationProvider config;
private static final String XYZ_PROPERTIES = "xyz.properties";
static {
config = new ConfigurationProvider();
}
private ConfigurationProvider() {
try {
InputStream in = this.getClass().getClassLoader().
getResourceAsStream(XYZ_PROPERTIES);
properties = new Properties();
properties.load(in);
} catch(IOException ie) {
ie.printStackTrace();
}
}
public static ConfigurationProvider getInstance() {
return config;
}
public String get(String propname) {
return properties.getProperty(propname, null);
}
}
С уважением
Создать Singleton из 'ConfigurationProvider', если вы не хотите, чтобы всегда его экземпляр и имеют кэш' ResourceBundle' на основе их 'Locale'. Таким образом, вам не нужно всегда перезагружать файл свойств каждый раз, когда вам это нужно. –
@BuhakeSindi, я думаю, ConfigurationProvider уже singleton. Я инициализирую config в статическом блоке и есть частный конструктор. Единственный способ получить экземпляр - это метод getInstance. –