我有幾個變量是全球性的,主要不會改變。 有時(每隔幾個月)我想改變它們。將全局配置變量封裝爲靜態?
它們保存在數據庫中。
問題是:如果我更改靜態變量,其他服務仍使用舊值。 我在做什麼錯?
class Config {
public static Default DEFAULTS = new Default();
//several other static defaults
public static in DIGIT = DEFAULTS.getDigit();
}
class Default() {
private int digit = 0;
//get+set
}
class Service() {
updateDefaults() {
Config.DEFAULTS.setDigit(2);
dao.update(Config.DEFAULTS);
}
}
問題:使用Config.DIGIT;
其他服務仍然使用的digit = 0
舊的默認值。
他已經刪除了他的非官方評論(這只是表明他根本不瞭解靜態是如何工作的)。我也會刪除我的評論。 – BalusC