グローバルで主に変更されない変数がいくつかあります。時々(数か月ごとに)私はそれらを変更したいと思います。
それらはDBに保存されます。
問題は、静的変数を変更しても、他のサービスが古い値を引き続き使用することです。私は何を間違っていますか?
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
。