2016-04-05 6 views
0

Bitte vervollständigen Sie mein Wissen, ich habe eine Anwendung, die einige Daten aus einem XML zu Beginn der Anwendung liest. Die aus XML gelesenen Daten werden in HashMap abgelegt. Der XML-Code wird im Ressourcenordner abgelegt.Lesen Sie aktualisierte Xml ohne Neustart von Tomcat

Ich habe eine Anforderung, dass nach dem Start der Anwendung, wenn ich einige Änderungen in XML vorgenommen und die Lese-XML-Methode aufrufen, sollte die HashMap aktualisierte Werte enthalten. Aber es enthält frühere alte Werte. Ich möchte dies erreichen, ohne den Tomcat-Server neu zu starten.

Bitte teilen Sie mit irgendwelchen Mitteln kann ich dies erreichen.

+0

Es ist einfach, mit einem REST-Service zu tun. Führen Sie einen POST oder PATCH von neuen Werten durch. – duffymo

+0

Danke, ja, ich rufe einen REST-Dienst an, um der Anwendung ein Signal zum erneuten Lesen der XML zu geben. Tatsächlich aktualisiere ich viele Werte gleichzeitig und vermeide so die Weitergabe von Werten durch mehrere REST-Aufrufe. Gibt es noch andere Möglichkeiten, XML-Werte zu vervielfältigen? –

+0

Kein REST ist die richtige Sache. Senden Sie die neuen Werte in ein JSON-Objekt und aktualisieren Sie die Karte auf einmal. – duffymo

Antwort

1

Sie können die WatchService-API verwenden, die für Anwendungen entwickelt wurde, die über Dateiänderungsereignisse benachrichtigt werden müssen.

WatchService API