Mit org.apache.commons:commons-configuration2:2.1
meine Anwendung muss wissen, wenn eine Konfigurationsdatei neu geladen wurde, so dass es einige Dinge im Programm aktualisieren kann. Apache Commons Configuration2 verwendet viele Strategien und Fabriken, und normalerweise ist das großartig, aber hier wird es so kompliziert, dass ich nicht herausfinden kann, wo ich einen Listener installieren muss.Ermitteln Datei neu laden in Apache Commons Konfiguration2
Die Anwendung hat dies:
configConfigurationBuilder = new ReloadingFileBasedConfigurationBuilder<FileBasedConfiguration>(
PropertiesConfiguration.class)
.configure(new Parameters().properties().setFile(getConfigFile()));
final PeriodicReloadingTrigger configReloadingTrigger = new PeriodicReloadingTrigger(
configConfigurationBuilder.getReloadingController(), null, 1, TimeUnit.MINUTES);
configReloadingTrigger.start();
Welche dieser verschiedenen Dinge kann ich einen Hörer auf installieren? Ich möchte nur benachrichtigt werden, wenn die Konfigurationsdatei neu geladen wird.
Ich bemerke, dass die ReloadingDetector
Schnittstelle eine reloadingPerformed()
Methode hat, und das klingt wie, was ich will. Aber wie füge ich meinen eigenen ReloadingDetector
hinzu? Es scheint, als ob die ReloadingController
nur eine ReloadingDetector
herumhält. Sicherlich muss ich keine Unterklasse ReloadingDetector
und installieren Sie eine benutzerdefinierte, würde ich? Ich möchte die Neuladeerkennung nicht spezialisieren, daher wäre Unterklassen nicht geeignet --- Ich möchte nur benachrichtigt werden, wenn etwas passiert. Außerdem ist es für mich nicht offensichtlich, wo ich mich sogar in die Kette von Ereignissen einklinken würde, wo es einen internen Faktor benutzt, um den Detektor zu erzeugen.
Also wie kann ich Apache Commons Configuration2 leicht erhalten, um mich zu benachrichtigen, wenn es eine Konfiguration neu lädt?