Ein Administrator kann einen Netzwerkordner konfigurieren, der als überwachter Ordner bezeichnet wird, sodass ein konfigurierter Dienstvorgang zur Verarbeitung einer Datei aufgerufen wird, wenn ein Benutzer eine Datei (z. B. eine PDF-Datei) in diesem überwachten Ordner ablegt. Nachdem der Dienst den vorgesehenen Vorgang ausgeführt hat, wird die geänderte Datei in einem angegebenen Ausgabeordner gespeichert.
Bevor Sie einen überwachten Ordner als Endpunkt konfigurieren, konfigurieren Sie den Watched Folder-Dienst. Die Konfigurationsparameter des Watched Folder-Dienstes haben zwei Verwendungszwecke:
Im Anschluss an die Konfiguration des Watched Folder-Dienstes fügen Sie einen Endpunkt des Typs „Überwachter Ordner“ für den Zieldienst hinzu. Beim Hinzufügen des Endpunktes legen Sie Werte fest, z. B. den Dienstnamen und den Vorgangsnamen, die aufgerufen werden sollen, wenn Dateien oder Ordner im Eingabeordner des konfigurierten Watched Folder-Dienstes abgelegt werden. Weitere Informationen zum Konfigurieren des Watched Folder-Dienstes finden Sie unter Einstellungen des Watched Folder-Dienstes.
Es gibt zwei Möglichkeiten, einen überwachten Ordner zu erstellen:
Geben Sie bei der Konfiguration der Einstellungen für einen Endpunkt des Typs „Überwachter Ordner“ den vollständigen Pfad zum übergeordneten Ordner ein und hängen Sie den Namen des zu erstellenden überwachten Ordners an. Beispiel:
C:\MyPDFs\MyWatchedFolder
Da der Ordner „MyWatchedFolder“ noch nicht vorhanden ist, versucht AEM Forms, ihn an diesem Speicherort zu erstellen.
Erstellen Sie vor dem Konfigurieren eines Endpunktes des Typs „Überwachter Ordner“ einen Ordner im Dateisystem und geben Sie anschließend den vollständigen Pfad in das Feld „Pfad“ ein.
In einer Clusterumgebung muss der Ordner, der als überwachter Ordner verwendet wird, zugriffsbereit sein, Schreibzugriff bieten und im Dateisystem oder Netzwerk freigegeben sein. In diesen Szenario muss jede Anwendungsserverinstanz des Clusters Zugriff auf denselben freigegebenen Ordner haben.
Wird der Anwendungsserver unter Windows als Dienst ausgeführt, muss er durch eine der folgenden Methoden mit dem entsprechenden Zugriff auf den freigegebenen Ordner gestartet werden:
Überwachte Ordner können miteinander verkettet werden, sodass ein Zieldokument eines überwachten Ordners das Eingabedokument des nächsten überwachten Ordners wird. Jeder überwachte Ordner kann einen anderen Dienst aufrufen. Indem überwachte Ordner auf diese Weise konfiguriert werden, können mehrere Dienste aufgerufen werden. Beispiel: Ein überwachter Ordner kann PDF-Dateien in Adobe PostScript® und ein anderer PostScript-Dateien in PDF/A konvertieren. Legen Sie dazu den Ergebnisordner des ersten überwachten Ordners, der vom ersten Endpunkt definiert wird, so fest, dass dieser auf den Eingabeordner des überwachten Ordners zeigt, der vom zweiten Endpunkt festgelegt ist.
Die Ausgabe der ersten Konvertierung wird an „\Pfad\result“ übergeben. Als Eingabe der zweiten Konvertierung dient „\Pfad\result“, und die Ausgabe der zweiten Konvertierung wird in „\Pfad\result\result“ oder den Ordner übertragen, den Sie im Feld „Ergebnisordner“ für die zweite Konvertierung angegeben haben.
Bei Endpunkten des Typs „überwachter Ordner“ können Benutzer Dateien oder Ordner vom Desktop in einen überwachten Ordner kopieren oder ziehen. Die Dateien werden in der Reihenfolge ihres Eingangs verarbeitet.
Wenn bei Endpunkten des Typs „überwachter Ordner“ der Auftrag nur eine Eingabedatei erfordert, kann der Benutzer diese Datei in den Stammordner des überwachten Ordners kopieren.
Wenn der Auftrag mehrere Eingabedateien umfasst, muss der Benutzer einen Ordner außerhalb der Hierarchie des überwachten Ordners erstellen, der alle erforderlichen Dateien enthält. Dieser neue Ordner muss die Eingabedateien und optional eine DDX-Datei enthalten, falls dies vom Prozess angefordert wird. Nachdem der Auftragsordner erstellt wurde, kopiert ihn der Benutzer in den Eingabeordner des überwachten Ordners.
Stellen Sie sicher, dass der Anwendungsserver Löschzugriff auf die Dateien im überwachten Ordner hat. Wenn AEM Forms die Dateien nicht aus dem Eingabeordner löschen kann, nachdem sie durchsucht wurden, wird der dazugehörige Prozess unendlich oft aufgerufen.
Wenn die Eingabe ein Ordner ist und die Ausgabe mehrere Dateien umfasst, erstellt AEM Forms einen Ausgabeordner mit dem Namen des Eingabeordners und kopiert die Ausgabedateien in diesen Ordner. Besteht die Ausgabe aus einer Dokumentzuordnung mit einem Schlüssel-/Wert-Paar, wie z. B. die Ausgabe eines Output-Prozesses, wird der Schlüssel als Ausgabedateiname verwendet.
Die Ausgabedateinamen, die aus einem Endpunktprozess resultieren, dürfen keine anderen Zeichen als Buchstaben, Zahlen und einen Punkt (.) vor der Dateinamenerweiterung enthalten. AEM Forms konvertiert andere Zeichen in Hexadezimalwerte.
Clientanwendungen rufen die Zieldokumente aus dem Ergebnisordner des überwachten Ordners ab. Prozessfehler werden im Fehlerordner des überwachten Ordners protokolliert.
Das Watched Folder-Modul enthält folgende Dienste:
Zusätzlich zu diesen Diensten hängt der Watched Folder-Dienst auch von anderen Diensten ab, z. B. dem Scheduler-Dienst für das Planen der Aufträge und dem Job Manager-Dienst zur Unterstützung des asynchronen Aufrufs von Zieldiensten.
Der Watched Folder-Dienst verarbeitet das Erstellen, Aktualisieren und Löschen der Endpunkte. Nachdem der Administrator die Endpunkte erstellt hat, werden sie für eine Auslösung durch den Scheduler-Dienst basierend auf dem angegebenen Wiederholungsintervall oder Cron-Ausdruck geplant.
Dieses Diagramm zeigt, wie eine Aufrufanforderung von Watched Folder-Prozessen verarbeitet wird.
Der Prozess des Aufrufens eines Dienstes mithilfe überwachter Ordner läuft folgendermaßen ab:
Eine Clientanwendung legt Dateien oder Ordner im Eingabeordner des überwachten Ordners ab.
Wenn das Auftragssuchintervall abgelaufen ist, ruft der Scheduler-Dienst den „provider.file_scan_service“-Dienst auf, um die Dateien oder Ordner im Eingabeordner zu verarbeiten.
Der „provider.file_scan_service“-Dienst führt die folgenden Aufgaben aus:
Der für den Endpunkt konfigurierte Zieldienst wird entweder synchron oder asynchron aufgerufen. Der Zieldienst wird unter Verwendung des Benutzernamens und Kennworts aufgerufen, die für den Endpunkt konfiguriert sind.
Der „provider.file_write_results_service“-Dienst verarbeitet die Antwort oder das Fehlschlagen des Zieldienstaufrufs. Bei erfolgreichem Abschluss wird die Ausgabe auf Grundlage der Endpunktkonfiguration im Ergebnisordner gespeichert. Der „provider.file_write_results_service“-Dienst behält auch die Quelle bei, wenn der Endpunkt für die Beibehaltung der Ergebnisse nach einem erfolgreichen Abschluss konfiguriert ist.
Wenn der Aufruf des Zieldienstes fehlschlägt, protokolliert der „provider.file_write_results_service“-Dienst den Grund in der Datei „failure.log“ und legt diese Datei im Fehlerordner ab. Der Fehlerordner wird auf Grundlage der für den Endpunkt angegebenen Konfigurationsparameter erstellt. Wenn der Administrator die Option „Bei Fehler beibehalten“ für die Endpunktkonfiguration festlegt, kopiert der „provider.file_write_results_service“-Dienst auch die Quelldateien in den Fehlerordner. Informationen zum Wiederherstellen von Dateien aus dem Fehlerordner finden Sie unter Fehlerquellen und Wiederherstellung.
Mithilfe der folgenden Einstellungen können Sie einen Endpunkt des Typs „überwachter Ordner“ konfigurieren.
Name (obligatorisch): Gibt den Endpunkt an. Der Name darf kein <-Zeichen enthalten, weil dadurch die Anzeige des Namens in Workspace abgeschnitten wird. Wenn Sie eine URL als Name des Endpunktes angeben, vergewissern Sie sich, dass sie den in RFC1738 angegebenen Syntaxregeln entspricht.
Beschreibung: Eine Beschreibung des Endpunkts. Der Name darf kein <-Zeichen enthalten, weil dadurch die Anzeige des Namens in Workspace abgeschnitten wird.
Pfad (obligatorisch): Gibt den Speicherort des überwachten Ordners an. In einer Clusterumgebung muss diese Einstellung auf einen freigegebenen Netzwerkordner zeigen, auf den alle Computer im Cluster zugreifen können.
Asynchron: Bestimmt, ob ein asynchroner oder ein synchroner Aufruftyp verwendet wird. Der Standardwert ist „asynchron“. „Asynchron“ wird für langlebige Prozesse empfohlen, während „synchron“ für transiente und kurzlebige Prozesse empfohlen wird.
Cron-Ausdruck: Geben Sie einen Cron-Ausdruck ein, wenn der überwachte Ordner mithilfe eines Cron-Ausdrucks geplant werden muss. Wenn diese Einstellung konfiguriert ist, wird „Repeat Interval“ ignoriert.
Wiederholungsintervall: Das Intervall in Sekunden, in dem der überwachte Ordner auf Eingaben überprüft wird. Außer wenn die Einstellung „Einschränken“ aktiviert ist, muss „Wiederholungsintervall“ größer als die Dauer zum Verarbeiten eines durchschnittlichen Auftrags sein. Andernfalls kann das System überlastet werden. Der Standardwert ist „5“. Weitere Informationen finden Sie in der Beschreibung für die Stapelgröße.
Wiederholungsanzahl: Anzahl, wie oft der überwachte Ordner oder das Verzeichnis überprüft wird. Der Wert „-1“ bedeutet uneingeschränktes Überprüfen („unendlich“). Der Standardwert ist -1.
Drosselung: Wenn diese Option ausgewählt ist, wird die Anzahl der Aufträge für überwachte Ordner begrenzt, die AEM Forms zu einem bestimmten Zeitpunkt verarbeitet. Die maximale Anzahl von Aufträgen wird durch den Wert von „Stapelgröße“ bestimmt. (Siehe Informationen zu Einschränkungen.)
Benutzername (obligatorisch): Der Benutzername, der beim Aufrufen eines Ziel-Services aus dem überwachten Ordner verwendet wird. Der Standardwert ist „SuperAdmin“.
Domain-Name (obligatorisch): Die Domain des Benutzers. Der Standardwert ist „DefaultDom“.
Stapelgröße: Die Anzahl der Dateien oder Ordner, die pro Überprüfung aufgenommen werden. Mit dieser Einstellung können Sie eine Überlastung des Systems verhindern, da das gleichzeitige Überprüfen zu vieler Dateien zu einem Absturz führen kann. Der Standardwert ist 2.
Die Einstellungen für Wiederholungsintervall und Stapelgröße bestimmen, wie viele Dateien bei jeder Überprüfung vom Watched Folder-Dienst ausgewählt werden. Der Watched Folder-Dienst verwendet einen Quartz-Threadpool, um den Eingabeordner zu überprüfen. Der Threadpool wird mit anderen Diensten gemeinsam verwendet. Wenn das Überprüfungsintervall kurz ist, wird der Eingabeordner häufig von den Threads überprüft. Falls häufig Dateien im überwachten Ordner abgelegt werden, sollten Sie ein kurzes Überprüfungsintervall wählen. Wenn Dateien nicht häufig abgelegt werden, verwenden Sie ein größeres Überprüfungsintervall, damit die anderen Dienste die Threads verwenden können.
Falls eine große Anzahl von Dateien abgelegt wird, wählen Sie eine große Stapelgröße. Wenn beispielsweise der vom Endpunkt des Typs „überwachter Ordner“ aufgerufene Dienst 700 Dateien pro Minute verarbeiten kann und die Benutzer Dateien mit derselben Rate im Eingabeordner ablegen, verbessert das Festlegen der Stapelgröße auf 350 und des Wiederholungsintervalls auf 30 Sekunden die Leistung des Watched Folder-Dienstes, ohne dass der überwachte Ordner allzu häufig überprüft werden muss.
Wenn Dateien im überwachten Ordner abgelegt werden, werden die Dateien in der Eingabe aufgelistet. Dadurch kann die Leistung reduziert werden, wenn jede Sekunde eine Überprüfung stattfindet. Durch Erhöhen des Überprüfungsintervalls kann die Leistung verbessert werden. Wenn das Volumen der abgelegten Dateien gering ist, passen Sie die Stapelgröße und das Wiederholungsintervall entsprechend an. Wenn beispielsweise jede Sekunde 10 Dateien abgelegt werden, probieren Sie ein Wiederholungsintervall von 1 Sekunde und eine Stapelgröße von 10 aus.
Wartezeit: Die Zeit in Millisekunden, die gewartet werden soll, bevor ein Ordner oder eine Datei nach der Erstellung überprüft wird. Wenn die Wartezeit beispielsweise 3.600.000 Millisekunden (eine Stunde) beträgt und die Datei vor einer Minute erstellt wurde, wird diese Datei nach Ablauf von mindestens 59 Minuten abgerufen. Der Standardwert ist 0.
Diese Einstellung ist nützlich, um sicherzustellen, dass eine Datei oder ein Ordner vollständig in den Eingabeordner kopiert wurde. Wenn Sie beispielsweise eine große Datei verarbeiten müssen und das Herunterladen der Datei 10 Minuten dauert, legen Sie die Wartezeit auf 10 x 60 x 1000 Millisekunden fest. Dies verhindert, dass der überwachte Ordner die Datei überprüft, wenn sie nicht 10 Minuten alt ist.
Dateimuster ausschließen: Eine durch Semikolon ; getrennte Liste von Mustern, die ein überwachter Ordner verwendet, um zu bestimmen, welche Dateien und Ordner überprüft und aufgenommen werden sollen. Alle Dateien oder Ordner, die diesem Muster entsprechen, werden nicht für die Verarbeitung überprüft.
Diese Einstellung ist hilfreich, wenn die Eingabe aus einem Ordner mit mehreren Dateien besteht. Der Inhalt des Ordners kann in einen Ordner mit einem Namen kopiert werden, der vom überwachten Ordner aufgenommen wird. Dies verhindert, dass der überwachte Ordner einen Ordner für die Verarbeitung aufnimmt, bevor dieser vollständig in den Eingabeordner kopiert ist.
Sie können Dateimuster verwenden, um Folgendes auszuschließen:
Dateien mit bestimmten Dateinamenerweiterungen, z. B. *.dat, *.xml, *.pdf.
Dateien mit bestimmten Namen, z. B. data.„*“ würde Dateien und Ordner mit den Namen data1, data2 usw. ausschließen.
Dateien mit zusammengesetzten Ausdrücken in Name und Erweiterung, wie in den folgenden Beispielen:
Informationen zu Dateimustern finden Sie unter Grundlegendes zu Dateimustern.
Dateimuster einbeziehen (obligatorisch): Eine durch Semikolon ; getrennte Liste von Mustern, die ein überwachter Ordner verwendet, um zu bestimmen, welche Ordner und Dateien überprüft und aufgenommen werden sollen. Wenn als Muster für einzuschließende Dateien beispielsweise „input*“ eingegeben wird, werden alle Dateien und Ordner aufgenommen, die „input*“ im Namen enthalten. Hierzu gehören auch Dateien und Ordner namens „input1“, „input2“ usw.
Der Standardwert ist „*“, wodurch alle Dateien und Ordner verwendet werden.
Sie können Dateimuster verwenden, um Folgendes einzuschließen:
Dateien mit bestimmten Dateinamenerweiterungen, z. B. *.dat, *.xml, *.pdf.
Dateien mit bestimmten Namen, z. B. data.„*“ würde Dateien und Ordner mit den Namen data1, data2 usw. einschließen.
Dateien mit zusammengesetzten Ausdrücken in Name und Erweiterung, wie in den folgenden Beispielen:
Informationen zu Dateimustern finden Sie unter Grundlegendes zu Dateimustern.
Ergebnisordner: Der Ordner, in dem die gespeicherten Ergebnisse abgelegt werden. Wenn die Ergebnisse nicht in diesem Ordner angezeigt werden, überprüfen Sie den Fehlerordner. Schreibgeschützte Dateien werden nicht verarbeitet und im Fehlerordner gespeichert. Dieser Wert kann ein absoluter oder relativer Pfad mit folgendem Dateimuster sein:
Wenn es zum Beispiel 20 Uhr am 17. Juli 2009 ist und Sie C:/Test/WF0/failure/%Y/%M/%D/%H/
angeben, lautet der Ergebnisordner C:/Test/WF0/failure/2009/07/17/20
.
Wenn der Pfad nicht absolut, sondern relativ ist, wird der Ordner im überwachten Ordner erstellt. Der Standardwert ist „result/%Y/%M/%D/“, der Ergebnisordner im überwachten Ordner. Informationen zu Dateimustern finden Sie unter Grundlegendes zu Dateimustern.
Je kleiner die Größe des Ergebnisordners ist, desto höher wird die Watched Folder-Leistung sein. Wenn beispielsweise die geschätzte Belastung für den überwachten Ordner bei 1000 Dateien pro Stunde liegt, sollten Sie ein Muster wie result/%Y%M%D%H
verwenden, sodass jede Stunde ein neuer Unterordner erstellt wird. Wenn die Belastung geringer ist (z. B. 1000 Dateien pro Tag), können Sie ein Muster wie das folgende verwenden: result/%Y%M%D
.
Aufbewahrungsordner: Der Ort, an dem Dateien nach erfolgreichem Überprüfen und Aufnehmen gespeichert werden. Dies kann ein absoluter, relativer oder leerer Ordnerpfad sein. Sie können Dateimuster verwenden, wie für „Ergebnisordner“ beschrieben. Der Standardwert ist „preserve/%Y/%M/%D/“.
Fehlerordner: Der Ordner, in dem Dateien mit Fehlern gespeichert werden. Dieser Speicherort ist stets relativ zum überwachten Ordner. Sie können Dateimuster verwenden, wie für „Ergebnisordner“ beschrieben.
Schreibgeschützte Dateien werden nicht verarbeitet und im Fehlerordner gespeichert.
Der Standardwert ist „failure/%Y/%M/%D/“.
Bei Fehler beibehalten: Eingabedateien werden beibehalten, wenn der Vorgang für einen Service nicht ausgeführt werden kann. Der Standardwert lautet true.
Doppelte Dateinamen überschreiben: Wenn diese Option auf „True“ gesetzt ist, werden Dateien im Ergebnisordner und im Aufbewahrungsordner überschrieben. Bei Festlegung auf „False“ wird an die Namen von Dateien und Ordnern ein numerisches Indexsuffix angehängt. Der Standardwert ist „False“.
Bereinigungszeit (obligatorisch): Dateien und Ordner im Ergebnisordner werden bereinigt, wenn sie älter als dieser Wert sind. Dieser Wert wird in Tagen gemessen. Diese Einstellung hilft dafür zu sorgen, dass der Ergebnisordner nicht voll wird.
Ein Wert von „-1“ Tage bedeutet, dass der Ergebnisordner nie gelöscht wird. Der Standardwert ist -1.
Vorgangsname (obligatorisch): Eine Liste von Vorgängen, die dem Endpunkt des überwachten Ordners zugewiesen werden können.
Zuordnungen von Eingabeparametern: Dient zur Konfiguration der Eingaben, die zur Verarbeitung des Services und Vorgangs erforderlich sind. Die verfügbaren Einstellungen hängen davon ab, welcher Dienst den überwachten Ordner-Endpunkt verwendet. Es gibt zwei Eingabetypen:
Literal: Der überwachte Ordner verwendet den in das Feld eingegebenen Wert so, wie er angezeigt wird. Alle grundlegenden Java-Typen werden unterstützt. Wenn eine API beispielsweise Eingaben wie String, Long, Int oder Boolean verwendet, wird die Zeichenfolge in einen ordnungsgemäßen Typ konvertiert und der Dienst aufgerufen.
Variable: Der eingegebene Wert ist ein Dateimuster, das vom überwachten Ordner zum Auswählen der Eingabe verwendet wird. Beispielsweise kann der Benutzer beim Kennwortverschlüsselungsdienst, bei dem das Eingabedokument eine PDF-Datei sein muss, „*.pdf“ als Dateimuster verwenden. Der überwachte Ordner nimmt alle Dateien im überwachten Ordner auf, die diesem Muster entsprechen, und ruft für jede Datei den Dienst auf. Wenn eine Variable verwendet wird, werden alle Eingabedateien in Dokumente konvertiert. Nur APIs, die „Document“ als Eingabetyp verwenden, werden unterstützt.
Zuordnungen von Ausgabeparametern: Dient zur Konfiguration der Ausgaben des Dienstes und des Vorgangs. Die verfügbaren Einstellungen hängen davon ab, welcher Dienst den überwachten Ordner-Endpunkt verwendet.
Die Watched Folder-Ausgabe kann ein einzelnes Dokument, eine Liste von Dokumenten oder eine Zuordnung von Dokumenten sein. Diese Ausgabe-Dokumente werden anschließend mithilfe des in der Ausgabeparameterzuordnung angegebenen Musters im Ergebnisordner gespeichert.
Das Angeben von Namen, die zu eindeutigen Ausgabedateinamen führen, verbessert die Leistung. Nehmen wir zum Beispiel den Fall, dass der Service ein Ausgabedokument zurückgibt und die Ausgabeparameter-Zuordnung es %F.%E
(dem Dateinamen und der Erweiterung der Eingabedatei) zuordnet. In diesem Fall, wenn der Benutzer jede Minute Dateien mit demselben Namen ablegt und der Ergebnisordner auf result/%Y/%M/%D
konfiguriert ist und die Einstellung „Doppelt vorhandene Dateinamen überschreiben“ deaktiviert ist, versucht der Watched Folder-Dienst die doppelten Dateinamen aufzulösen. Der Prozess des Auflösens von doppelten Dateinamen kann Auswirkungen auf die Leistung haben. In diesem Fall kann die Leistung verbessert werden, wenn die Ausgabeparameter-Zuordnung auf %F_%h_%m_%s_%l
geändert wird, um dem Namen Stunden, Minuten, Sekunden und Millisekunden hinzuzufügen, oder wenn sichergestellt wird, dass abgelegte Dateien eindeutige Namen haben.
Administratoren können den Dateityp angeben, von dem ein Dienst aufgerufen werden kann. Für jeden überwachten Ordner können mehrere Dateimuster angegeben werden. Ein Dateimuster kann eine der folgenden Dateieigenschaften sein:
Dateien mit bestimmten Dateinamenerweiterungen, z. B. *.dat, *.xml, *.pdf;
Dateien mit bestimmten Namen, z. B. data.*
Dateien mit zusammengesetzten Ausdrücken in Name und Erweiterung, wie in den folgenden Beispielen:
Der Administrator kann das Dateimuster für den Ausgabeordner definieren, in dem die Ergebnisse gespeichert werden sollen. Für die Ausgabeordner (Ergebnis, Beibehalten und Fehler; „result“, „preserve“ und „failure“) kann der Administrator jedes der folgenden Dateimuster angeben:
Der Pfad zum Ergebnisordner kann beispielsweise C:\Adobe\Adobe_Experience_Manager_forms\BarcodedForms\%y\%m\%d
lauten.
Über Zuordnungen von Ausgabeparametern können außerdem zusätzliche Muster angegeben werden, wie z. B.:
Wenn das Muster der Zuordnung von Ausgabeparametern mit „File.separator“ (dem Pfadtrennzeichen) endet, wird ein Ordner erstellt und der Inhalt in diesen Ordner kopiert. Endet das Muster nicht mit „File.separator“, wird der Inhalt (Ergebnisdatei oder -ordner) mit diesem Namen erstellt. Weitere Informationen zu Zuordnungen von Ausgabeparametern finden Sie unter Tipps und Tricks für überwachte Ordner.
Wenn Einschränkungen für einen Endpunkt des Typs „überwachter Ordner“ aktiviert ist, wird die Anzahl Watched Folder-Aufträge, die zu jeder Zeit verarbeitet werden können, begrenzt. Die maximale Anzahl von Aufträgen wird durch den Wert von „Stapelgröße“ bestimmt, der ebenfalls im Endpunkt des Typs „überwachter Ordner“ konfiguriert werden kann. In den Eingabeordner des überwachten Ordners eingehende Dokumente werden nicht mehr abgerufen, wenn der Grenzwert für „Einschränken“ erreicht wurde. Die Dokumente bleiben ebenfalls im Eingabeordner, bis andere Watched Folder-Aufträge abgeschlossen wurden und ein erneuter Abrufversuch unternommen wird. Im Falle der synchronen Verarbeitung werden alle in einem einzigen Abruf verarbeiteten Aufträge für die Berechnung des Grenzwertes für „Einschränken“ berücksichtigt, auch wenn die Aufträge nacheinander in einem einzigen Thread verarbeitet werden.
Die Funktion „Einschränken“ ist in Clustern nicht skalierbar. Bei aktiviertem „Einschränken“ verarbeitet der Cluster zu keiner Zeit insgesamt mehr Aufträge als vom Wert „Stapelgröße“ angegeben ist. Dieser Grenzwert ist clusterweit gültig und nicht für jeden Knoten im Cluster spezifisch. Bei einer Stapelgröße von 2 kann der Grenzwert für „Einschränken“ beispielsweise von einem einzelnen Knoten bereits mit der Verarbeitung von zwei Aufträgen erreicht werden, sodass keine anderen Knoten mehr den Eingabeordner abrufen, bevor nicht einer der Aufträge abgeschlossen ist.
Der Watched Folder-Dienst überprüft den Eingabeordner zum jeweiligen Wiederholungsintervall, nimmt die in „Stapelgröße“ angegebene Anzahl von Dateien auf und ruft den Zieldienst für jede dieser Dateien auf. Wenn die Stapelgröße beispielsweise 4 beträgt, nimmt der Watched Folder-Dienst bei jeder Überprüfung vier Dateien auf, erstellt vier Aufrufanforderungen und ruft den Zieldienst auf. Wenn der Watched Folder-Dienst vor Abschluss dieser Anforderungen erneut aufgerufen wird, werden unabhängig davon, ob die vorherigen vier Aufträge abgeschlossen sind, erneut vier Aufträge gestartet.
„Einschränken“ hindert den Watched Folder-Dienst am Aufrufen neuer Aufträge, wenn vorherige Aufträge noch nicht abgeschlossen sind. Der Watched Folder-Dienst erkennt in der Bearbeitung befindliche Aufträge und verarbeitet neue Aufträge auf Grundlage der Stapelgröße abzüglich der in Bearbeitung befindlichen Aufträge. Wenn zum Zeitpunkt des zweiten Aufrufs beispielsweise erst drei Aufträge abgeschlossen sind und ein Auftrag noch in Bearbeitung ist, ruft der Watched Folder-Dienst nur drei neue Aufträge auf.
Der Watched Folder-Dienst kann insgesamt 100 Ordner auf einem einzelnen Knoten verarbeiten. Die Leistung des Watched Folder-Dienstes ist von der Leistung des Formularservers abhängig. Bei asynchronem Aufruf ist die Leistung stärker von der Systemauslastung sowie von Aufträgen abhängig, die sich in der Job Manager-Warteschlange befinden.
Die Leistung des Watched Folder-Dienstes kann durch Hinzufügen von Knoten zum Cluster verbessert werden. Watched Folder-Aufträge werden durch den Quartz Scheduler auf den Clusterknoten bzw. im Falle asynchroner Anforderungen vom Job Manager-Dienst verteilt. Alle Aufträge sind persistent in der Datenbank gespeichert.
Der Watched Folder-Dienst ist bei der Zeitplanung, Aufhebung von Zeitplanungen und der erneuten Zeitplanung der Aufträge vom Scheduler-Dienst abhängig. Es stehen noch andere Dienste zur Verfügung, wie z. B. Event Management-Dienst, User Manager-Dienst oder Email Provider-Dienst, die den Threadpool des Scheduler-Dienstes gemeinsam nutzen. Dies kann sich auf die Leistung des Watched Folder-Dienstes auswirken. Wenn alle Dienste beginnen, den Threadpool des Scheduler-Dienstes zu verwenden, wird eine Leistungsoptimierung erforderlich.
In einem Cluster ist der Watched Folder-Dienst beim Lastenausgleich und Failover vom Quartz Scheduler und vom Job Manager-Dienst abhängig. Weitere Informationen zum Quartz-Clusterverhalten finden Sie in der Quartz-Dokumentation.
Der Watched Folder-Dienst führt bei jedem Abruf die folgenden drei Hauptaufgaben aus:
Das Lastenausgleich- und Failoververhalten ändert sich in Abhängigkeit davon, ob der überwachte Ordner für synchronen oder asynchronen Aufruf konfiguriert ist.
Bei synchronen Aufrufen entscheidet der Quartz-Lastenausgleich, welchem Knoten das Abrufereignis zugeteilt wird. Der Knoten, dem das Abrufereignis zugeteilt wird, führt alle Aufgaben aus: Überprüfen des Ordners, Aufrufen des Zieldienstes und Verarbeiten der Ergebnisse.
Wenn bei einem synchronen Aufruf ein Fehler bei einem Knoten auftritt, sendet der Quartz Scheduler neue Abrufereignisse an andere Knoten. Auf dem fehlerhaften Knoten gestartete Aufrufe gehen verloren. Weitere Informationen zum Wiederherstellen der dem fehlerhaften Auftrag zugeordneten Dateien finden Sie unter Fehlerquellen und Wiederherstellung.
Bei asynchronen Aufrufen entscheidet der Quartz-Lastenausgleich, welchem Knoten das Abrufereignis zugeteilt wird. Der Knoten, dem das Abrufereignis zugeteilt wird, überprüft den Eingabeordner und ruft den Zieldienst auf, indem die Anforderung in die Warteschlange des Job Manager-Dienstes gestellt wird. Der Lastenausgleich des Job Manager-Dienstes ist dagegen für die Entscheidung verantwortlich, von welchem Knoten die Aufrufanforderung verarbeitet wird. Es ist möglich, dass eine Anforderung auf Knoten B verarbeitet wird, auch wenn die Aufrufanforderung von Knoten B erstellt wurde. Natürlich kann es auch passieren, dass der Knoten, von dem die Aufrufanforderung gestartet wurde, am Ende die Verarbeitung der Anforderung übernimmt.
Wenn bei einem asynchronen Aufruf ein Fehler bei einem Knoten auftritt, sendet der Quartz Scheduler neue Abrufereignisse an andere Knoten. Aufrufanforderungen, die auf dem fehlerhaften Knoten erstellt wurden, befinden sich in der Warteschlange des Job Manager-Dienstes und werden zur Verarbeitung an andere Knoten gesendet. Dateien, für die keine Aufrufanforderungen erstellt wurden, bleiben im Bereitstellungsordner. Weitere Informationen zum Wiederherstellen der dem fehlerhaften Auftrag zugeordneten Dateien finden Sie unter Fehlerquellen und Wiederherstellung.
Bei jedem Abrufereignis sperrt der Watched Folder-Dienst den Eingabeordner, verschiebt die Dateien, die dem Muster für einzuschließende Dateien entsprechen, in den Bereitstellungsordner und hebt anschließend die Sperrung des Eingabeordners wieder auf. Die Sperrung ist erforderlich, damit nicht dieselben Dateien von zwei Threads aufgenommen und doppelt verarbeitet werden. Die Wahrscheinlichkeit, dass es hierzu kommt, steigen mit einem kurzen Wiederholungsintervall und einer hohen Stapelgröße. Nachdem Dateien in den Bereitstellungsordner verschoben wurden, wird die Sperrung des Eingabeordners aufgehoben, damit andere Threads den Ordner überprüfen können. Dieser Schritt hilft bei der Bereitstellung eines hohen Durchsatzes, weil andere Threads eine Überprüfung ausführen können, während die Dateien bereits von einem Thread verarbeitet werden.
Nachdem Dateien in den Bereitstellungsordner verschoben wurden, werden für jede Datei Aufrufanforderungen erstellt und der Zieldienst aufgerufen. Es kann vorkommen, dass der Watched Folder-Dienst die Dateien im Bereitstellungsordner nicht wiederherstellen kann:
Synchron: Wenn der Watched Folder-Dienst für den synchronen Aufruf des Dienstes konfiguriert ist, bleiben alle Dateien im Bereitstellungsordner unverarbeitet darin.
Asynchron: In diesem Fall ist der Watched Folder-Dienst vom Job Manager-Dienst abhängig. Wenn der Job Manager-Dienst den Watched Folder-Dienst zurückruft, werden die Dateien im Bereitstellungsordner auf Grundlage der Ergebnisse des jeweiligen Aufrufs in den Aufbewahrungs- oder Fehlerordner verschoben. Ruft der Job Manager-Dienst den Watched Folder-Dienst nicht zurück, bleiben die Dateien unverarbeitet im Bereitstellungsordner. Diese Situation tritt ein, wenn der Watched Folder-Dienst bei Rückruf des Job Managers nicht ausgeführt wird.
Wenn die Quelldateien im Bereitstellungsordner nicht vom Watched Folder-Dienst verarbeitet werden können, können Sie diese wiederherstellen.
Starten Sie den Anwendungsserver oder Knoten neu.
(Optional) Beenden Sie den Watched Folder-Dienst, sodass keine neuen Eingabedateien verarbeitet werden. Wenn Sie diesen Schritt auslassen, wird es wesentlich schwerer zu bestimmen sein, welche Dateien im Bereitstellungsordner nicht verarbeitet sind. Führen Sie eine der folgenden Aufgaben aus, um den Watched Folder-Dienst an der Verarbeitung neuer Eingabedateien zu hindern:
NOMATCH
ein).Ermitteln Sie, welche Dateien nicht verarbeitet werden können. Wenn Sie ausreichend lange gewartet und den vorangehenden Schritt ausgeführt haben, sich aber immer noch nicht verarbeitete Dateien im Bereitstellungsordner befinden, fahren Sie mit dem nächsten Schritt fort.
Sie können das Datum und den Zeitstempel der Dateien im Bereitstellungsordner überprüfen. In Abhängigkeit von der Anzahl der Dateien und der normalen Verarbeitungsdauer können Sie ermitteln, welche Dateien so alt sind, dass sie als blockiert betrachtet werden können.
Kopieren Sie die nicht verarbeiteten Dateien aus dem Bereitstellungsordner in den Eingabeordner.
Wenn der Watched Folder-Dienst in Schritt 2 an der Verarbeitung neuer Eingabedateien gehindert wurde, ändern Sie den Parameter „Muster für einzuschließende Dateien“ in den vorherigen Wert zurück oder aktivieren Sie den zuvor deaktivierten Prozess erneut.
Jeder überwachte Ordner ist mit einem Benutzernamen und einem Kennwort konfiguriert. Diese Anmeldeinformationen werden beim Aufrufen des Dienstes verwendet. Der Watched Folder-Dienst basiert auf der Tatsache, dass der freigegebene Ordner durch das zugrunde liegende Sicherheitsdateisystem geschützt ist, sodass nur der Besitzer des überwachten Ordners auf den freigegebenen Ordner zugreifen kann.
Im Folgenden finden Sie einige Tipps und Tricks zum Konfigurieren des Endpunkts des Typs „überwachter Ordner“:
Bei einem überwachten Ordner unter Windows, der Bilddateien verarbeitet, geben Sie Werte für die Optionen „Muster für einzuschließende Dateien“ bzw. „Muster für auszuschließende Dateien“ an, um zu verhindern, dass die automatisch von Windows erzeugte Datei „Thumbs.db“ vom überwachten Ordner abgerufen wird.
Wenn ein Cron-Ausdruck angegeben ist, wird das Wiederholungsintervall ignoriert. Die Verwendung des Cron-Ausdrucks basiert auf dem Open-Source-Auftragsplanungssystem Quartz, Version 1.4.0.
Die Stapelgröße ist die Anzahl der Dateien und Ordner, die bei jeder Überprüfung des überwachten Ordners aufgenommen wird. Wenn die Stapelgröße auf 2 festgelegt ist und zehn Dateien oder Ordner im überwachten Ordner abgelegt werden, werden bei jeder Überprüfung nur zwei aufgenommen. Bei der nächsten Überprüfung, die nach dem im Wiederholungsintervall angegebenen Zeitraum eintritt, werden die nächsten zwei Dateien aufgenommen.
Administratoren können reguläre Ausdrücke mit der zusätzlichen Unterstützung durch Platzhalterzeichenmuster als Dateimuster angeben. Bei der Überwachung von Ordnern wird der reguläre Ausdruck geändert, um Platzhaltermuster wie „.“ und „*.pdf“ zu unterstützen. Diese Platzhalterzeichenmuster werden nicht von regulären Ausdrücken unterstützt.
Der Watched Folder-Dienst überprüft den Eingabeordner auf Eingaben und erkennt nicht, ob die Quelldatei bzw. der Quellordner bereits vollständig in den Eingabeordner kopiert ist, bevor die Verarbeitung der Datei oder des Ordners begonnen wird. Führen Sie folgende Aufgaben durch, um sicherzustellen, dass die Quelldatei bzw. der Quellordner vollständig in den Eingabeordner des überwachten Ordners kopiert ist, bevor die Datei oder der Ordner aufgenommen wird:
ex*
und das Muster für einzuschließende Dateien in*
lautet, werden bei überwachten Ordnern die Dateien erfasst, die mit „in“ beginnen, aber nicht die, die mit „ex“ beginnen. Benennen Sie zum Kopieren großer Dateien oder Ordner zuerst die Datei bzw. den Ordner so um, dass der Name mit „ex“ beginnt. Benennen Sie die Datei bzw. den Ordner mit dem mit „ex“ beginnenden Namen nach vollständigem Abschluss des Kopiervorgangs in den überwachten Ordner wieder in „in*“ um.Verwenden Sie die „Bereinigungszeit“, um den Ergebnisordner leer zu halten. Der Watched Folder-Dienst bereinigt alle Dateien, die älter als die unter „Bereinigungszeit“ angegebene Dauer sind. Die Dauer wird in Tagen angegeben.
Wenn ein Endpunkt des Typs „überwachter Ordner“ hinzugefügt wird, wird nach der Auswahl des Vorgangsnamens die Zuordnung von Eingabeparametern ausgefüllt. Für jede Eingabe des Vorgangs wird ein Feld für die Zuordnung von Eingabeparametern erzeugt. Im Folgenden finden Sie Beispiele für Zuordnungen von Eingabeparametern:
com.adobe.idp.Document
gilt: Wenn der Eingabetyp des Dienstvorgangs Document
ist, kann der Administrator den Zuordnungstyp als Variable
angeben. Der Watched Folder-Dienst nimmt die Eingabe aus dem Eingabeordner des überwachten Ordners auf Grundlage des im Eingabeparameter angegebenen Dateimusters auf. Wenn der Administrator *.pdf
als Parameter angibt, wird jede Datei mit der Erweiterung „.pdf“ aufgenommen, in com.adobe.idp.Document
konvertiert und der Service aufgerufen.java.util.Map
: Wenn der Service-Vorgang eine Eingabe vom Typ Map
hat, kann der Administrator den Zuordnungstyp als Variable
angeben und einen Zuordnungswert mit einem Muster wie *.pdf
eingeben. Angenommen ein Dienst benötigt eine Zuordnung von zwei com.adobe.idp.Document
-Objekten, die zwei Dateien im Eingabeordner repräsentieren, z. B „1.pdf“ und „2.pdf“. Der Watched Folder-Dienst erstellt eine Zuordnung mit dem Dateinamen als Schlüssel und dem Wert com.adobe.idp.Document
.java.util.List
: Wenn der Service-Vorgang eine Eingabe vom Typ „Liste“ hat, kann der Administrator den Zuordnungstyp als Variable
angeben und einen Zuordnungswert mit einem Muster wie *.pdf
eingeben. Wenn PDF-Dateien im Eingabeordner abgelegt werden, erstellt der Watched Folder-Dienst eine Liste der com.adobe.idp.Document
-Objekte, die diese Dateien repräsentiert, und ruft den Zieldienst auf.java.lang.String
gilt: Der Administrator hat zwei Möglichkeiten. Zunächst kann der Administrator den Zuordnungstyp als Literal
angeben und einen Zuordnungswert als Zeichenfolge eingeben, z. B. hello.
. Der überwachte Ordner ruft den Service mit der Zeichenfolge hello
auf. Zweitens kann der Administrator den Zuordnungstyp als Variable
angeben und einen Zuordnungswert mit einem Muster wie *.txt
eingeben. Im zweiten Fall werden Dateien mit der TXT-Endung als Dokument gelesen, das zwangsweise in eine Zeichenfolge umgewandelt ist, um den Dienst aufzurufen.Literal
angeben und den Wert vorgeben. Der Watched Folder-Dienst ruft den Dienst mit dem angegebenen Wert auf.Der Watched Folder-Dienst ist für die Arbeit mit Dokumenten konzipiert. Unterstützte Ausgaben sind com.adobe.idp.Document
, org.w3c.Document
, org.w3c.Node
sowie eine Liste und Zuordnung dieser Typen. Jeder andere Typ führt zu einer Fehlerausgabe im Fehlerordner.
Wenn die Ergebnisse nicht im Ergebnisordner sind, überprüfen Sie den Fehlerordner, um herauszufinden, ob ein Fehler aufgetreten ist.
Der Watched Folder-Dienst funktioniert optimal im asynchronen Modus. In diesem Modus stellt der Watched Folder-Dienst die Aufrufanforderung in die Warteschlange und ruft zurück. Die Warteschlange wird dann asynchron verarbeitet. Wenn die Option „Asynchron“ nicht festgelegt ist, ruft der Watched Folder-Dienst den Zieldienst synchron auf und die Prozess-Engine wartet, bis der Dienst die Anforderung abgeschlossen und Ergebnisse erzeugt hat. Wenn der Zieldienst lange für die Verarbeitung der Anforderung braucht, kann es im Watched Folder-Dienst zu Zeitüberschreitungsfehlern kommen.
Beim Erstellen von überwachten Ordnern für Import- und Exportvorgänge ist keine Abstraktion von Dateinamenerweiterungen zulässig. Wenn der Form Data Integration-Dienst bei Verwendung von überwachten Ordnern aufgerufen wird, stimmt der Dateinamenerweiterungstyp für die Ausgabedatei möglicherweise nicht mit dem beabsichtigten Ausgabeformat für den Dokumentobjekttyp überein. Wenn die Eingabedatei für einen überwachten Ordner, von dem der Exportvorgang aufgerufen wird, ein XFA-Formular ist, das Daten enthält, muss die Ausgabedatei eine XDP-Datendatei sein. Um eine Ausgabedatei mit der richtigen Dateinamenerweiterung zu erhalten, können Sie diese in den „Zuordnungen von Ausgabeparametern“ angeben. In diesem Beispiel können Sie „%F.xdp“ für die Ausgabeparameterzuordnung verwenden.
Eingabedateien werden von einem überwachten Ordner möglicherweise verarbeitet, bevor sie vollständig in den Ordner kopiert wurden. Unter UNIX ist das Sperren von Dateien nicht wie unter Windows obligatorisch. Aus diesem Grund kann eine Datei, die in einen überwachten Ordner kopiert wird, von diesem überwachten Ordner in „stage“ verschoben werden, ohne den Abschluss des Kopiervorgangs abzuwarten. Bei diesem Verhalten wird nur ein Teil der Eingabedatei verarbeitet. Zurzeit gibt es zwei vorläufige Lösungen:
Vorläufige Lösung 1
Vorläufige Lösung 2
Wenn die maximale Dauer für den Kopiervorgang der Dateien in einen überwachten Ordner bekannt ist, geben Sie diesen Zeitraum in Sekunden für „Wartezeit“ an. Der überwachte Ordner lässt dann immer zuerst den angegebenen Zeitraum verstreichen, bevor die Datei in „stage“ verschoben wird.
Dieses Problem tritt bei Dateien unter Windows nicht auf, weil eine Datei unter Windows von einem schreibenden Thread gesperrt wird. Es ist aber ein Problem für Ordner unter Windows. Für Ordner befolgen Sie die unter „Vorläufige Lösung 1“ aufgeführten Schritte.
Wenn das Endpunktattribut „Preserve Folder Name“ für den Watched Folder-Dienst auf einen leeren Ordnerpfad (null) festgelegt ist, wird der Testordner nicht wie erforderlich geleert. Der Ordner enthält dann immer noch die verarbeitete Datei sowie den temporären Ordner.
Für alle Dienste müssen die Stapelgröße und das Wiederholungsintervall des überwachten Ordners so angepasst werden, dass die Häufigkeit, mit der neue Dateien und Ordner vom Watched Folder-Dienst zur Verarbeitung aufgenommen werden, nicht die ausführbare Verarbeitungsrate des AEM Forms-Servers für Aufträge überschreitet. Die tatsächlich zu verwendenden Parameter können abweichen, je nachdem, wie viele überwachte Ordner konfiguriert sind, welche Dienste überwachte Ordner verwenden und wie intensiv die Aufträge den Prozessor auslasten.
Geben Sie zur Erzielung einer optimalen Leistung bei der Verarbeitung von Formularen mit Strichcode (kleine Dateien) als Stapelgröße 10
und als Wiederholungsintervall 2
ein.
Befinden sich viele Dateien im Eingabeordner, kann es zu Fehlern mit ausgeblendeten Dateien namens „thumbs.db“ kommen. Es wird daher empfohlen, das „Muster für einzuschließende Dateien“ auf denselben Wert festzulegen wie den für die Eingabevariable festgelegten Wert (z. B. *.tiff
). Auf diese Weise wird der Watched Folder-Dienst daran gehindert, die DB-Dateien zu verarbeiten.
Eine Stapelgröße von 5
und ein Wiederholungsintervall von 2
sind normalerweise ausreichend, da der Barcoded Forms-Dienst für gewöhnlich ungefähr 0,5 Sekunden für die Verarbeitung eines Strichcodes benötigt.
Der Watched Folder-Dienst wartet nicht auf den Abschluss des Auftrags durch die Prozess-Engine, bevor neue Dateien oder Ordner aufgenommen werden. Der überwachte Ordner wird weiterhin überprüft und der Zieldienst aufgerufen. Durch dieses Verhalten kann die Prozess-Engine überlastet werden, was zu Ressourcenproblemen und Zeitüberschreitungen führt. Stellen Sie sicher, dass Sie mithilfe des Wiederholungsintervalls und der Stapelgröße die Watched Folder-Eingabe einschränken. Sie können das Wiederholungsintervall erhöhen und die Stapelgröße verringern, wenn mehr überwachte Ordner vorhanden sind, oder die Funktion „Einschränken“ am Endpunkt aktivieren. Informationen zur Funktion „Einschränken“ finden Sie unter Informationen zu Einschränkungen.
Der Watched Folder-Service nimmt die Identität des im Benutzer- und Domain-Namen angegebenen Benutzers an. Der Watched Folder-Dienst ruft den Dienst als dieser Benutzer auf, wenn er direkt aufgerufen wird oder wenn der Prozess eine kurze Lebensdauer hat. Bei einem Prozess mit langer Lebensdauer wird dieser mit dem Systemkontext aufgerufen. Administratoren können Betriebssystemrichtlinien für den Watched Folder-Dienst festlegen, um zu bestimmen, welchen Benutzern der Zugriff gewährt oder verweigert werden soll.
Organisieren Sie die Ergebnis-, Fehler- und Aufbewahrungsordner mithilfe von Dateimustern. (Siehe Informationen zu Dateimustern.)
Der Watched Folder-Dienst verwendet zum Überprüfen der überwachten Ordner den Quartz Scheduler. Der Quartz Scheduler verfügt über einen Threadpool zum Überprüfen der Ordner. Wenn das Wiederholungsintervall für den überwachten Ordner sehr niedrig (< 5 Sekunden) und die Stapelgröße hoch ist (> 2), tritt eine Racebedingung ein. Wenn diese Bedingung eintritt, wird eine Datei von zwei Quartz-Threads aufgenommen: