Thomas Darimont
Erfahrenes Mitglied
Hallo,
bei über die Oberfläche konfigurierbaren persistenten Einstellungen bietet sich in der Regel ein mehrstufiger Konfigurationsmechanismus an.
Dabei kann es mehrere (zwischen) Ebenen geben z.bsp.:
Relevanz) Ausprägung)
1) Direkt im Code (defaults)
2) Konfigurationsdatei (noch mehr defaults)
3) Customer-Konfigurationsdatei
4) JVM Properties -Dde.tutorials.Services.someProperty=value
Dabei überschreiben Werte mit höherer Relevanz Werte mit niedriger Relevanz.
Beispiel:
Wir haben 3 Konfigurierbare Optionen:
A, B und C
Ihre Defaultwerte im Code (1): A=1000, B =50, C=-1
Zusatzlich finden sich in einer zusätzlichen Konfigurationsdatei (2)
Noch folgende Werte fuer die Optionen B und C: B = 1111 und C = 21
Ausserdem wird der Anwendung noch der Umgebungsparameter (4) -Dde.tutorials.SomeObject.c=42 uebergeben.
Die effektive Konfiguration ergibt nun:
A=1000
B=1111
C=42
Das Ganze lässt sich dann über ein wenig ReflectionMagic realisieren.
Zu vollen Qualifizierung der jeweiligen Optionen bieten sich der FQCN + der Name des Attributs an.
Ich denke man sollte Spring eher in diese Richtung erweitern als das durch irgendwelche Hacks mit der aktuellen Version zu handeln.
Gruß Tom
bei über die Oberfläche konfigurierbaren persistenten Einstellungen bietet sich in der Regel ein mehrstufiger Konfigurationsmechanismus an.
Dabei kann es mehrere (zwischen) Ebenen geben z.bsp.:
Relevanz) Ausprägung)
1) Direkt im Code (defaults)
2) Konfigurationsdatei (noch mehr defaults)
3) Customer-Konfigurationsdatei
4) JVM Properties -Dde.tutorials.Services.someProperty=value
Dabei überschreiben Werte mit höherer Relevanz Werte mit niedriger Relevanz.
Beispiel:
Wir haben 3 Konfigurierbare Optionen:
A, B und C
Ihre Defaultwerte im Code (1): A=1000, B =50, C=-1
Zusatzlich finden sich in einer zusätzlichen Konfigurationsdatei (2)
Noch folgende Werte fuer die Optionen B und C: B = 1111 und C = 21
Ausserdem wird der Anwendung noch der Umgebungsparameter (4) -Dde.tutorials.SomeObject.c=42 uebergeben.
Die effektive Konfiguration ergibt nun:
A=1000
B=1111
C=42
Das Ganze lässt sich dann über ein wenig ReflectionMagic realisieren.
Zu vollen Qualifizierung der jeweiligen Optionen bieten sich der FQCN + der Name des Attributs an.
Ich denke man sollte Spring eher in diese Richtung erweitern als das durch irgendwelche Hacks mit der aktuellen Version zu handeln.
Gruß Tom