Aus dem Telefonat vom 14.02.2008:
Es gibt folgendes Probleme:
1. Es bereitet wesentlich mehr Aufwand, auch Parameterdateien zu überwachen, die sich nicht unterhalb des live (oder cache) ordners befinden.
2. Man möchte Parameterdateien relativ adressieren. Im selben ordner -> einfach. Absolut in einem ganz anderen Pfad -> kann ausserhalb von live liegen (Problem 1). Relativ zum live Wurzelverzeichnis, wenn es z.B. eine globale überwachte Parameterdatei ist, die von Jobs in mehreren Live Ordneren verwendet wird -> ${SCHEDULER_LIVE} als Umgebungsvariable hülfe dabei nicht immer, denn es würde auf den live ordner zeigen. Wenn aber über Zentrale konfiguration die Dateien im cache ordner landen, stimmt der Pfad nicht.
Benötigt wird also eine Möglichkeit, immer den richtigen (denn es gibt ja 2) Live Wurzelordner zu Adressieren, und nur unterhalb dieser überwachten Ordner Änderungen and der Parameterdatei zu bemerken.
Lösung:
neues Attribut "live_file" in <include>
live_file alternativ zu file
Regeln für <include live_file="...">:
. ist der aktuelle Ordner der Datei, die das include verwendet
/ ist die jeweils richtige Liveordner Wurzel (also live oder cache)
mit live_file refernzierte Parameterdateien werden überwacht, Änderungen werden bemerkt
Es ist verboten, mit ".." ausserhalb des Live Baums zu gehen
Regeln für <include file="..."> in einer Hot Folder Datei:
. ist der aktuelle Ordner der Datei, die das include verwendet
/ ist die Wurzel des Dateisystems
Die Datei wird nicht überwacht
Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen
Regeln für <include file="..."> in einer normalen Konfigurationsdatei:
. ist das Arbeitsverzeichnis des Schedulers
/ ist die Wurzel des Dateisystems
Die Datei wird nicht überwacht
Es ist erlaubt, mit ".." oder absoluter Adressierung ausserhalb des Live Baums zu gehen
Der Vorteil dieser Lösung ist, dass mit der Unterscheidung file<->live_file (und dessen Einschränkungen) klar ist, welche Parameterdateien dynamisch aktualisiert werden (können) und welche nicht.
Soll dieses Verhalten für beliebige Verzeichnisse wirken, die mit <params><include file="..."/></params> angegeben werden? Davon wären auch Verzeichnisse betroffen, die bspw. ausserhalb des Live Folders liegen.