Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe einen globalen Service der eine eigene de.espirit.firstspirit.module.Configuration<ServerEnvironment> Implementierung hat und darüber seine Konfiguration in einer Datei speichert.
Die Konfigurationsdatei selbst wird dann, entsprechend der Dokumentation, im ServerEnvironment gespeichert. Es wird eine Default-Configurationsdatei als Resource im Service konfiguriert und mit dem Modul installiert.
Ich habe jetzt festgestellt, dass diese Konfigurationsdatei mit jeder Neuinstallation des Moduls mit der im Modul hinterlegten Datei überschrieben wird.
Kann ich dieses Verhalten irgendwie abschalten bzw. muss ich das selbst behandeln in dem ich dies im Service in den Methoden Service.uninstalling() sichere und in Service.installed() wieder herstelle oder wie ist da die Vorgehensweise?
Schöne Grüße
Stefan Brauneis
Hallo Stefan,
wie speicherst oder wie lädst Du die Konfigurationsdatei? Über FirstSpirit-Mittel oder über typische Java-Classloading-Mechanismen? Bei letzterem kann es zu den oben beschriebenen Symptomen kommen.
Ideal wäre es, wenn Du die Standardwerte der Konfiguration in einer internen Properties-Datei hälst und diese als Vorbelegung der Service-Konfigurtion benutzt. So machen wir das bei unseren Modulen.
Vielleicht postet Du einfach den Quellcode Deines Service hier, dann können wir Dir bestimmt weiterhelfen.
Grüße Marian
Hallo Stefan,
wie speicherst oder wie lädst Du die Konfigurationsdatei? Über FirstSpirit-Mittel oder über typische Java-Classloading-Mechanismen? Bei letzterem kann es zu den oben beschriebenen Symptomen kommen.
Ideal wäre es, wenn Du die Standardwerte der Konfiguration in einer internen Properties-Datei hälst und diese als Vorbelegung der Service-Konfigurtion benutzt. So machen wir das bei unseren Modulen.
Vielleicht postet Du einfach den Quellcode Deines Service hier, dann können wir Dir bestimmt weiterhelfen.
Grüße Marian
Hallo Marian,
Vielen Dank! Dein Hinweis hat mir weitergeholfen. Ich hatte die Default-Konfiguration, wie gesagt, in einer eigenen Datei im FSM abgelegt. Dies hat dieses Problem verursacht. Jetzt lege ich diese Datei nicht mehr automatisch an und lese die Default-Konfiguration über eine eigene Variable ein, wenn die Datei nicht vorhanden ist.
Das löst das Problem.
Schöne Grüße
Stefan Brauneis