Я только начинающий в OSGi, и мы все еще используем версию 4. У меня есть компонент OSGi, в котором один из классов имеет общедоступные статические окончательные (psf) переменные.
Что бы я хотел сделать, яхотите использовать фрагмент, где он считывает значения из файла свойств и устанавливает значения переменных psf в компоненте.?Если фрагмент не найден, значения должны быть установлены по умолчанию.
Пожалуйста, найдите мой код снимка и дайте мне знать, как я могу это сделать?
Класс компонента
public final class OdsPrincipals {
/*****************************************************************************************
* Static/Inner class members
******************************************************************************************/
private static final String ODS_PRODUCT_NAME;
private static final String ODS_PRINCIPAL_NAME;
static {
//How to set the values of static final variables.
}
фрагмент класса
public class OdsPrincipalProperties {
/*'***************************************************************************************
* Static/Inner class members
******************************************************************************************/
protected static final String ODS_PRINCIPAL_PROPERTIES_FILE = "odsprincipal.properties";
private static final Properties properties = new Properties();
static {
try {
properties.load(
OdsPrincipalProperties.class.getResourceAsStream(ODS_PRINCIPAL_PROPERTIES_FILE));
} catch (Exception e) {
ServiceLogger.error(e);
} finally {
}
}
private static final OdsPrincipalProperties odsPrincipalProperties = new OdsPrincipalProperties();
public static OdsPrincipalProperties getInstance() {
return odsPrincipalProperties;
}
/*'***************************************************************************************
* Class members
******************************************************************************************/
protected OdsPrincipalProperties() {
}
/*
* returns the value for a given key. If the key is not
* found, returns the default value.
*
*/
public String getValue(String key, String defaultValue) {
return properties.getProperty(key, defaultValue);
}
} ```