In Java, wie dynamisch laden Ressourcenpakete in einer Webanwendung?

8

Wir verwenden fmt: setBundle, um ein Ressourcenpaket aus einer Datenbank zu laden (dazu haben wir die ResourceBundle-Klasse erweitert). Wenn wir einen Wert in der Datenbank ändern, müssen wir den Webserver neu laden, um den neuen Wert in der Web-App anzuzeigen.

Gibt es eine einfache Möglichkeit, den neuen Wert zu verwenden, ohne den Webserver neu zu starten?

(Wir tun nicht wollen immer den Wert aus der Datenbank nachschlagen, aber wir möchten den Cache ungültig machen, zum Beispiel indem wir eine spezielle 'admin' URL aufrufen)

EDIT: Wir verwenden JDK 1.4, also würde ich eine Lösung für diese Version bevorzugen. :)

    
paulgreg 01.10.2008, 07:34
quelle

2 Antworten

3

Wie andere in den Kommentaren darauf hingewiesen haben, möchten Sie vielleicht in Spring schauen - insbesondere die ReloadableResourceBundleMessageSource .

    
user7094 01.10.2008, 08:50
quelle
7

Wenn Sie JDK 1.6 verwenden, können Sie die Callback-Methoden getTimeToLive() und needsReload() in ResourceBundle.Control , um zu steuern, ob der Bundle-Cache mit neuen Werten aus der Datenbank geladen werden muss.

    
WMR 01.10.2008 08:13
quelle

Tags und Links