Dieser Job kann einzeln (eingenständig; stand-alone), außerhalb einer Job-Kette, oder auftragsgesteuert als Knoten innerhalb einer Jobkette verwendet werden. Die Parameter werden entsprechend als Job- oder Auftragsparameter von der Implementierung des Jobs interpretiert und verarbeitet.
Ein Job kann eine beliebige Anzahl Parameter haben, die vom JobSchedulder dem Job beim Job-Start übergeben werden. Parameter werden in der Konfigurationsdatei des Jobs bzw. des Auftrages oder über die entsprechenden API-Methoden definiert und mit Werten versorgt. Parameter sind entweder obligatorisch oder optional. Für einen Parameter kann ein Default-Wert vorgegeben sein. Der gilt dann, wenn der Parameter nicht angegeben wurde. Nicht alle Parameter haben einen Default-Wert.
Auftragsparameter überschreiben gleichnamige Job-Parameter.
Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des oder der Filterkriterien ermittelt wurden. Die Ergebnisliste wird als Auftrags-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.
Dieser Job kann Datei-Aufträge (file-orders) erzeugen. Dabei kann angegeben werden, ob nur für die erste Datei oder für alle Dateien in der Ergebnisliste ein Dateiauftrag angelegt werden soll.
Weiterführende Informationen zu Datei-Aufträgen ("file-orders") finden Sie hier: Directory Monitoring with File Orders .
Bei der
Verzeichnisüberwachung mit Dateiaufträgen
wird der Job-Parameter
Using
Directory Monitoring with File Orders
the job parameter
Der Wert dieses Parameters enthält den Namen des Pfades der aktuell zu verarbeitenden Datei.
This paramters contains the pathname (parent) of the file which is currently processed.
tbd
The name, without foldername, of the file which is currently processed.
Zu überwachende Datei oder zu überwachendes Verzeichnis.
Monitored file or directory.
Supports masks for substitution in the file name and directory name with format strings that are enclosed by brackets ([ and ]). The following format strings are supported:
[date:date format]
date format must be a valid Java data format string, e.g. yyyyMMddHHmmss , yyyy-MM-dd.HHmmss etc.
For further information on valid values for a dateformat string see SimpleDateFormat
An example:
<param name="file"
value="sample/hello[date:yyyyMMdd].txt"
/>
On 2050-12-31 the parameter
file
contains the value
"sample/hello20501231.txt"
.
Unterstützt Substitution von Masken in Parameterwerten mit
Formatangaben, die mit
[
und
]
geklammert sind.
Folgende Formate werden unterstützt:
[date:
date format
]
<param name="target_file"
value="sample/hello[date:yyyyMMdd].txt" />
"sample/hello20501231.txt"
.
[directory:]
source_file
ersetzt.
[directory:
index
]
[directory:2]
liefert "aaa/bbb" zurück.
[directory:-3]
liefert "bbb/ccc/ddd" zurück.
[directory:0]
oder
[directory:-0]
liefern immer den kompletten Pfad zurück.
[directory:5]
oder
[directory:-12]
liefern hier den kompletten Pfad zurück.
Der JobScheduler unterstützt die Ersetzung (Substitution) von Parameter-Namen durch deren aktuellen Wert, wenn der Parameter-Name mit % und % geklammert ist und als Wert für einen Parameter angegeben wird.
Der Parameter
scheduler_file_path
gesetzt ist. Bei der
Verzeichnisüberwachung mit Dateiaufträgen
wird der Job-Parameter
The JobScheduler supports substitution of parameter names with their value if the parameter name is enclosed by % and % .
In diesem Beispiel wird der Wert des Parameters "
In this example the value of the parameter "scheduler_file_path" is used as the value for the
parameter "source_file".
Using
Directory Monitoring with File Orders
the job parameter
Unterstützt Substitution von Parameternamen durch deren Wert, wenn der jeweilige Parametername mit % und % geklammert ist.
Beispiel:
<param name="source_file" value="%scheduler_file_path%"
/>
Der Parameter
scheduler_file_path
gesetzt ist. Bei der
Verzeichnisüberwachung mit Dateiaufträgen
wird der Parameter
Regulärer Ausdruck als Dateifilter. Verhält sich CASE_INSENSITIVE.
Nur wirksam, wenn der Parameter
Einige Bemerkungen über reguläre Ausdrücke wie sie im JobScheduler verwendet werden.
Ein regulärer Ausdruck ist keine wildcard . Um einen Eindruck hinsichtlich der Unterschiede zwischen einer Wildcard und einem regulären Ausdruck zu bekommen, betrachten wir die Wildcard "*.txt", welche alle Dateien mit dem Dateinamen-Erweiterung ".txt" auswählt. Ein regulärer Ausdruck funktioniert auf die gleiche Art und Weise, hier muss die "Wildcard" jedoch die Form "^.*\.txt$" haben. Das sieht ein wenig seltsam aus, aber ist viel flexibler und leistungsfähiger zur Filterung der Dateinamen als das Konzept der Wildcards, wenn man komplexere Namen oder Muster filtern möchte.
Ein weiterer Vorteil regulärer Ausdrücke gegenüber einer "wildcard" ist die Mächtigkeit und gleichzeitige Flexibilität bei der Formulierung von Bedingungen, die zutreffen müssen, damit ein Dateiname (e.g. ein String) ausgewählt wird. Sollen zum Beispiel alle Datein ausgewählt werden, deren Name entweder die Zeichenkette "SUCH" oder "SUEU" oder "LIS1" enhält und nicht am Anfang oder Ende steht, so ist der reguläre Ausdruck wie folgt zu formulieren: ^.*(SUCH|SUEU|LIS1).*$
Die allgemeine Syntax eines regulären Ausdrucks , auch regex or regexp genannt, wird hier beschrieben. Es unterscheidet sich von anderen RegExp Definitionen, z. B. wie für Perl.
Für weitere Informationen regulärer Ausdrücke siehe java.util.regex.Pattern
Beispiele:
source_file
|
file_spec
|
replacing
|
replacement
|
Beispiel | Ergebnis | Kommentar |
---|---|---|---|---|---|---|
./temp | .* | ~ | "" | hallo.dat~ | hallo.dat | - |
a.txt | - | [.]txt | _2006-11-24.txt | - | a_2006-11-24.txt | - |
./temp | .* | .* | [filename:] [date:yyyy-MM-dd].dat | a.txt | a.txt2006-11-24.dat | [filename:] und [date:] werden substituiert nachdem die Ersetzung durchgeführt wurde |
./temp | .*[.]txt | a.*?b | world | a.1.b.txt.b | world.txt.b | .*? : Verwendung von .* im Modus "ungreedy" |
abcdefg.txt | - | ^(ab)cde(fg)[.]txt | 123;[date:yyyy-MM-dd] | - | 123cde2006-11-24.txt | ; : Trennzeichen zwischen mehreren Ersetzungsstrings |
./temp | .*dat$ | (ab)_c[0-9]d_(fg) | group1;group2 | ab_c1d_fg. ab_c2d_fg.dat | group1_c1d_group2. ab_c2d_fg.dat | Nur die erste Übereinstimmung des Musters wird ersetzt. |
./temp | .* | ^(?:aa|bb)_.{2}_ ([0-9]+_[0-9]+)$ | tail | aa_QU_061205_222334 | aa_QU_tail | (?:...) : "?:" Spezifiziert eine "non capturing group". Diese wird nicht ersetzt. |
./temp | FILE.txt | .* | [filename:lowercase]_[filename:uppercase]_[filename:] | FILE.txt | file.txt_FILE.TXT_FILE.txt | - |
source_file
|
target_file
|
file_spec
|
create_dir
|
replacing
|
replacement
|
Beispiel | Ergebnis | Kommentar |
---|---|---|---|---|---|---|---|---|
aaa/bbb/ | [directory:]/[date:yyyyMMdd]/ | hello.txt | true | [.]txt | [date:yyyy].txt | aaa/bbb/hello.txt | aaa/bbb/20070316/hello2007.txt | Wenn das Verzeichnis aaa/bbb/20070316 noch nicht existiert, wird es angelegt |
Für weitere Informationen zu regulären Ausdrücken, siehe java.util.regex.Pattern
Regular Expression for file filtering. The behaviour is CASE_INSENSITIVE.
Only effective if the parameter
Some remarks on regular expression, used in JobScheduler and YADE.
A regular expression is not a wildcard . To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will select all filenames with the filename-extension ".txt". A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$". That looks a little bit strange but it is much more flexible and powerfull on filtering filenames than the concept of wildcards, if one want to filter more complex names or pattern.
The general syntax of an regular expression, also referred to as regex or regexp, is described here. It is different to other RegExp definitions, e.g. as for Perl.
For further information on regular expressions see java.util.regex.Pattern
As an extension of regular expression the [date:] variable is supported. Using this feature it is possible to create a regexp, which is depending on the date with is defined in the date-format.
If you want (only part of the regex) to be case sensitive , then you have the option to use the (?-i) and [optionally] (?i) mode modifiers: (?-i)G[a-b](?i).*
If you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.
Einige Anmerkungen und Erklärungen zur Technik und Verwendung der regulären Ausdrücke in JobScheduler und YADE.
Ein regulärer Ausdruck ist keine wildcard . Um einen ersten Eindruck bezüglich des Unterschiedes zwischen einem "regulären Ausdruck" und einer "wildcard" zu bekommen, vergleichen Sie die Bedeutung der wildcard "*.txt" mit dem regulären Ausdruck "^.*\.txt$". Beide Ausdrücke erlauben die Selektion aller Dateinamen, die mit einer beliebigen Zeichenfolge beginnen und dann mit ".txt" enden. Der reguläre Ausdruck erfüllt in diesem Beispiel die gleichen Anforderungen, ist aber wesentlich mächtiger, sobald komplexere Kriterien abgebildet werden müssen.
Die generelle Syntax eines regulären Ausdrucks, auch bezeichnet als regex oder regexp, ist hier beschrieben. Es weicht ab von anderen Definitionen der regulären Ausdrücke, zum Beispiel wie sie in Perl verwendet werden.
Für weitere Informationen über reguläre Ausdrücke siehe java.util.regex.Pattern
Als Erweiterung der Syntax der regulären Ausdrücke kann die [date:]-variable verwendet werden. Mit dieser Variablen kann z.B. ein regulärer Ausdruck gebildet werden, der das jeweilige aktuelle Datum enthält, ohne daß der Ausdruck neu gebildet werden muß.
Wenn der Vergleich mit dem regulären Ausdruck, oder Teile des Ausdruck, die Groß-/Kleinschreibung berücksichtigt werden soll, so kann dies mit der folgenden Schreibweise spezifiziert werden.
Durch Verwendung von (?-i) - Klein-/Großschreibung beachten - und [optional] (?i) - Klein-/Großschreibung nicht beachten - Modifikatoren: (?-i)G[a-b](?i).*
Sie sollten sicherstellen, daß die regex engine Unicode unterstützt, sobald Sie Unicode-Zeichen im regexp verwenden. Andernfalls erhalten Sie unerwartete Ergebnisse des Vergleichs.
Examples for regular expressions used for replacing:
source_file
|
file_spec
|
replacing
|
replacement
|
Example Input | Output | Comment |
---|---|---|---|---|---|---|
./temp | .* | ~ | "" | hallo.dat~ | hallo.dat | - |
a.txt | - | [.]txt | _2011-11-24.txt | - | a_2011-11-24.txt | - |
./temp | .* | .* | [filename:] [date:yyyy-MM-dd].dat | a.txt | a.txt2011-11-24.dat | [filename:] and [date:] will be substituted after file has been replaced |
./temp | .*[.]txt | a.*?b | world | a.1.b.txt.b | world.txt.b | .*? : ungreedy usage of .* |
abcdefg.txt | - | ^(ab)cde(fg)[.]txt | 123;[date:yyyy-MM-dd] | - | 123cde2011-11-24.txt | ; : separator between multiple replacements |
./temp | .*dat$ | (ab)_c[0-9]d_(fg) | group1;group2 | ab_c1d_fg. ab_c2d_fg.dat | group1_c1d_group2. ab_c2d_fg.dat | Only the first pattern match is replaced |
./temp | .* | ^(?:aa|bb)_. {2}_([0-9]+_[0-9]+)$ | tail | aa_QU_061205_222334 | aa_QU_tail | (?:...) : "?:" specifies a non capturing group. The file will not be replaced. |
./temp | FILE.txt | .* | [filename:lowercase]_[filename:uppercase]_[filename:] | FILE.txt | file.txt_FILE.TXT_FILE.txt | - |
source_file
|
target_file
|
file_spec
|
create_dir
|
replacing
|
replacement
|
Example input | Output | Comment |
---|---|---|---|---|---|---|---|---|
aaa/bbb/ | [directory:]/[date:yyyyMMdd]/ | hello.txt | true | [.]txt | [date:yyyy].txt | aaa/bbb/hello.txt | aaa/bbb/20070316/hello2007.txt | If the directory aaa/bbb/20070316 does not yet exist it will be created |
For further information see java.util.regex.Pattern
For further information on date-patterns see: java.util.regex.Pattern
Aktiviert oder deaktiviert Fehlermeldungen, die aufgrund einer leeren Ergebnisliste der im Job auszuführenden Operation ausgelöst werden können, und steuert damit den Ablauf der Schritte (Knoten) in einer Job-Kette.
Gültige Werte: false, 0, off, no, n, nein, none , true, 1, on, yes, y, ja, j und all
Bei einer leeren Ergebnisliste der Operation ergibt sich folgendes Verhalten eines Jobs bzw. einer Job-Kette bezüglich der Meldung eines "Fehlers":
GRACIOUS
|
Standalone-Job
|
JobKetten-Job
|
---|---|---|
false, 0, off, no, n, nein, none |
error log,
Task error |
error log,
set_state error |
true, 1, on, yes, y, ja, j |
no error log,
Task success |
no error log,
set_state error |
all |
no error log,
Task success |
no error log,
set_state success |
Enables or disables error messages that are caused by an empty result-set, which is the result of an operation, executed by the job. Therefore this parameter can control the sequence of nodes or states in a job-chain.
Valid values:
false, 0, off, no, n, nein, none , true, 1, on, yes, y, ja, j and all.
The following rules apply when the result-set is empty:
GRACIOUS
|
Standalone-Job
|
Order-Job
|
---|---|---|
false, 0, off, no, n, nein, none |
error log,
Task error |
error log,
set_state error |
true, 1, on, yes, y, ja, j |
no error log,
Task success |
no error log,
set_state error |
all |
no error log,
Task success |
no error log,
set_state success |
For example, the setting "gracious=all" will suppress all errors regarding an empty result-set and will terminate a Job (standalone and inside a jobchain) as it would be without errors.
Vereinbart das Höchstalter einer oder mehrerer Dateien. Ist eine Datei älter, dann gilt sie als nicht vorhanden.
Mögliche Werte sind:
0 (parameter wird ignoriert)
Sekunden
Stunden:Minuten
Stunden:Minuten:Sekunden
Specifies the maximum age of a file. If a file is older, then it is deemed not to exist, it will be not included in the result-list.
Valid values:
Value | Description |
---|---|
0 | The value of the parameter has no effect and the parameter is not part of the filter. |
seconds | no of seconds. |
hours:minutes | 01:15 is to read as "1 hour and 15 minutes". |
hours:minutes:seconds | 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds". |
Valid values:
Value | Description |
---|---|
0 | The value of the parameter has no effect and the parameter is not part of the filter. |
seconds | no of seconds. |
hours:minutes | 01:15 is to read as "1 hour and 15 minutes". |
hours:minutes:seconds | 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds". |
Specifies the minimum age of a files. If the file(s) is newer then it is classified as non-existing, it will be not included in the result-list.
Valid values:
Value | Description |
---|---|
0 | The value of the parameter has no effect and the parameter is not part of the filter. |
seconds | no of seconds. |
hours:minutes | 01:15 is to read as "1 hour and 15 minutes". |
hours:minutes:seconds | 01:15:10 is to read as "1 hour, 15 minutes and 10 seconds". |
valid values for file size are
Value | Description |
---|---|
-1 | The value of the parameter has no effect and the parameter is not part of the filter. |
number | a number stand for the size in byte, e.g. 40 means 40 bytes. |
numberKB | a number with the chars "KB" stand for the size in kilobyte. |
numberMB | a number with the chars "MB" stand for the size in megabyte. |
numberGB | a number with the chars "GB" stand for the size in gigabyte. |
Vereinbart die minimale Größe einer oder mehrerer Dateien in Bytes: unterschreitet die Größe einer Datei diesen Wert, dann wird diese nicht in das Resultat (result list) übernommen.
Gültige Werte für diesen Parameter sind:
-1 (parameter wird ignoriert)
Zahl (Byte), z.B. 40
ZahlKB, z.B. 5KB (Groß/Kleinschreibung wird ignoriert)
ZahlMB, z.B. 20MB (Groß/Kleinschreibung wird ignoriert)
ZahlGB, z.B. 10GB (Groß/Kleinschreibung wird ignoriert)
Specifies the minimum size of one or multiple files in bytes: should the size of one of the files fall below this value, then it is not included in the result list of the operation.
valid values for file size are
Value | Description |
---|---|
-1 | The value of the parameter has no effect and the parameter is not part of the filter. |
number | a number stand for the size in byte, e.g. 40 means 40 bytes. |
numberKB | a number with the chars "KB" stand for the size in kilobyte. |
numberMB | a number with the chars "MB" stand for the size in megabyte. |
numberGB | a number with the chars "GB" stand for the size in gigabyte. |
Die angegebene Anzahl Dateien wird vom Anfang der Ergebnismenge (result-list) der Operation entfernt. Auf diese Dateien wirkt sich die Operation damit nicht aus.
Der Parameter wirkt auf die resultierende Menge von
Die Reihenfolge der Einträge in der Ergebnis-Menge wird durch die verwendeten Filter-Parameter ermittelt:
Es darf nur entweder
The number of files are removed from the beginning of the set
resulting by
The result set is sorted according to the used filter parameters:
Only either
The number of files are removed from the end of the result set
by
The result set is sorted according to the used constraining parameters:
Wenn dieser Parameter auf "
true
" gesetzt ist, dann wird die Anzahl der kopierten Dateien in
dem
Order
Parameter "
If this parameter is set true "
true
" the number of matches
is returned in the order parameter "
Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.
This parameter is valid and available for order driven jobs only. JobChains, for example, are order driven jobs. In standalone jobs this parameter will be ignored without further notice.
Dieser Parameter ist nur gültig und verfügbar für Jobs in einer Job-Kette, die durch einen Auftrag gestartet wird. In einem "stand alone" Job wird dieser Parameter ohne einen weiteren Hinweis ignoriert.
Der Parameter ist nur dann sinnvoll verwendbar, wenn er in einem Auftrag verwendet wird. Aufträge werden in Job-Ketten benutzt, um die Ausführung der Job-Kette zu starten. In einem "single" Job (standalone job) wird dieser Parameter ohne weiteren Hinweis ignoriert.
Mit diesem Parameter wird festgelegt, daß entweder für die erste oder für alle Dateien
(entsprechend des Wertes des Parameters
Weitere Informationen zu "file-orders" finden Sie unter Directory Monitoring with File Orders .
With this parameter it is possible to specify, that for all filenames in the resultlist or
for the first file only (see
For more information on "file-orders" see Directory Monitoring with File Orders .
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.
Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein
Wenn der Wert dieses Parameters "true" ist und der Parameter
Dieser Parameter ist nur dann relevant, wenn der Parameter
If this parameter is set to "true", for each file which is in the result set, a file-order is created and started.
This parameter is in effect only if the parameter
Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.
Wenn der Wert dieses Parameters "true" ist und der Parameter
Dieser Parameter ist nur dann relevant, wenn der Parameter
If this parameter is set to "true", for each new file which is in the result set, a file-order is created and started.
This parameter is in effect only if the parameter
Gültige Werte: true, 1, on, yes, y, ja, j und false, 0, off, no, n, nein
Valid values: true, 1, on, yes, y, ja, j and false, 0, off, no, n, nein.
Mit diesem Parameter wird der Name der Jobkette angegeben, die durch den Auftrag gestartet werden soll.
Es ist zu beachten, daß der Name der Jobkette inclusive einer eventuell vorhandenen Ordnerstruktur angegeben werden muß. Ist die Jobkette "Test" zum Beispiel nicht direkt im Verzeichnis "live" zu finden, sondern in ""live/sample/FileOperations/" so ist als Name der Jobkette für diesen Parameter ""/sample/FileOperations/Test" anzugeben.
The name of the jobchain which has to be launched by the order is the value of this parameter.
One must take into account, that the name of the jobchain must contain a subfolder structure if the jobchain is not in the folder "live". An example: the jobchain "Test" is located in "live/sample/FileOperations/". The value which has to be specfied is then "/sample/FileOperations/Test".
Soll eine Jobkette nicht mit dem ersten Knoten gestartet werden, so kann der Name des Knotens, mit dem die Ausführung der Jobkette stattdessen starten soll, als Wert dieses Parameters angegeben werden.
The name of the node of a jobchain, with which the execution of the chain must be started, is the value of this parameter.
Mit diesem Parameter wird festgelegt, ob die Auftrags-Parameter des aktuellen Auftrages in die Auftragsparameter des zu erzeugenden Auftrages übernommen werden sollen. Sollen die Parameter des aktuellen Auftrages nicht übernommen werden, so wird ein Auftrag, der lediglich die Informationen über die Datei enthält, erzeugt.
This parameter specifies, that the order, which has to be created, will be extended by the parameters of the actual order.
Der nächste auszuführende Knoten (Step, Job) in einer Job-Kette wird mit diesem Parameter angegeben, falls die Ergebnis-Liste (result-set) keine Einträge hat. Dies wird dann geschehen, wenn zum Beispiel keine Dateien mit dem entsprechenden regulären Ausdruck gefunden wurden.
The next Node (Step, Job) to execute in a JobChain can be set with this parameter. The value of the parameter is a (valid) node-name of the current JobChain. In case of an empty result-set, e.g. due to non existent files, the current job will end without an errors and the JobChain will continue with the name of the node which is given as the value of this parameter.
Mit diesem relationalen Parameter wird festgelegt, ob ein Fehler ausgelöst werden soll, falls die Anzahl der Treffer in der Ergebnisliste nicht den Erwartungen entspricht.
Ein Beispiel:
Nehmen wir an, dass der Parameter "raise_error_if_result_set_is=ne" angegeben wurde und der Parameter "expected_size_of_result_set=1" wurde ebenso gesetzt. Ist dann die Anzahl der Treffer in der Ergebnisliste ungleich 1, so wird ein Fehler ausgelöst.
With this parameter it is possible to raise an error if the quantity of hits of the result-list is according to the value of this parameter.
An example:
Assuming, that the parameter "raise_error_if_result_set_is=ne" is defined and the parameter "expected_size_of_result_set=1" is specified as well. If the number of hits is not equal to "1" an error will raised.
Wenn mit diesem Parameter ein gültiger Dateiname angegeben wurde so wird die Ergebnisliste in dieser Datei gespeichert.
If the value of this parameter specifies a valid filename the result-list will be written to this file.
In some file transfer scenarios has the receiver of a file no knowledge about the time when the sender creates the file. In case of a (very) large file it can be the situation that the receiver tries to read the file but the sender has not finished to write it. If the receiver get the file at the moment the sender is still writing, as a result he will get a corrupted, incomplete file.
Setting this parameter to "true" the receiver will check the file for completeness before he starts the transfer.
At the end, this is not a very secure approach, because the receiver is checking the date of last modification and the size of the file. If both not changing between a time intervall, which is defined by the parameters ..., the file is guessed to be complete. If the sender is terminated without writing the complete file, or the network is down, or the speed of processing the file is going slow, the receiver will get a corrupted file.
A better approach for avoiding corrupt files is to use the atomic method: writing a file and after completion
of writing rename the file.
If more than one file is to be transferred, the transactional approach is the first choice.
Mit dieser Option wird festgelegt, wie oft die Prüfung, ob die Datei sich verändert hat, wiederholt wird.
The value of this option specifies the number of retries for to check the steady state of a file.
Der Abstand in Sekunden zwischen zwei Prüfungen auf Vollständigkeit bzw. Veränderungen wird mit dem Wert dieses Parameters festgelegt.
The value of this option defines the temporal distance in seconds between two checkpoints.
Prüft auf die Existenz einer Datei, eines Verzeichnisses, oder auf bestimmte Dateien innerhalb eines Verzeichnisses.
Der Job bietet folgende Funktionalitäten:
This job implementation is supporting "regular expressions" on file names for filtering and searching
the files which has to be
processed.
Mit einem "regulären Ausdruck" kann eine sehr mächtige und effektive Selektion über Texte und Textbestandteile
formuliert und durchgeführt werden.
Some remarks on regular expression, used in JobScheduler and YADE.
A regular expression is not a
wildcard
.
To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will
select all filenames with the filename-extension ".txt".
A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$".
That looks a little bit strange but it is much more flexible and powerfull on filtering filenames
than the concept of wildcards, if one want to filter more complex names or pattern.
The general syntax of an
regular expression, also referred to as regex or regexp,
is described
here.
It is different to other RegExp definitions, e.g. as for Perl.
For further information on regular expressions see
java.util.regex.Pattern
As an extension of regular expression the [date:] variable is supported. Using this feature it is possible to create a regexp, which is
depending on the date with is defined in the date-format.
If you want (only part of the regex) to be case sensitive , then you have the option to use
the (?-i) and [optionally] (?i) mode modifiers: (?-i)G[a-b](?i).*
If you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.
Einige Anmerkungen und Erklärungen zur Technik und Verwendung der regulären Ausdrücke in JobScheduler und YADE.
Ein regulärer Ausdruck ist keine
wildcard
.
Um einen ersten Eindruck bezüglich des Unterschiedes zwischen einem "regulären Ausdruck" und einer "wildcard" zu bekommen,
vergleichen Sie die Bedeutung der wildcard "*.txt" mit dem regulären Ausdruck "^.*\.txt$".
Beide Ausdrücke erlauben die Selektion aller Dateinamen, die mit einer beliebigen Zeichenfolge beginnen und dann mit
".txt" enden.
Der reguläre Ausdruck erfüllt in diesem Beispiel die gleichen Anforderungen, ist aber wesentlich mächtiger, sobald
komplexere Kriterien abgebildet werden müssen.
Die generelle Syntax eines
regulären Ausdrucks, auch bezeichnet als regex oder regexp,
ist
hier beschrieben.
Es weicht ab von anderen Definitionen der regulären Ausdrücke, zum Beispiel wie sie in Perl verwendet werden.
Für weitere Informationen über reguläre Ausdrücke siehe
java.util.regex.Pattern
Als Erweiterung der Syntax der regulären Ausdrücke kann die [date:]-variable verwendet werden.
Mit dieser Variablen kann z.B. ein regulärer Ausdruck gebildet werden, der das jeweilige aktuelle Datum enthält, ohne
daß der Ausdruck neu gebildet werden muß.
Wenn der Vergleich mit dem regulären Ausdruck, oder Teile des Ausdruck, die Groß-/Kleinschreibung berücksichtigt werden soll, so kann
dies mit der folgenden Schreibweise spezifiziert werden.
Durch Verwendung von (?-i) - Klein-/Großschreibung beachten - und [optional] (?i) - Klein-/Großschreibung nicht beachten - Modifikatoren: (?-i)G[a-b](?i).*
Sie sollten sicherstellen, daß die regex engine Unicode unterstützt, sobald Sie Unicode-Zeichen im regexp verwenden.
Andernfalls erhalten Sie unerwartete Ergebnisse des Vergleichs.
Recurse of subdirectories
Unterverzeichnisse werden in die Verarbeitung eingeschlossen.
Der Inhalt eines Unterverzeichnisses wird damit Bestandteil des
Transfers.
Es kann bestimmt werden, daß nicht vorhandene Unterverzeichnisse neu angelegt werden sollen.
Mit dem Parameter
Sind auf der Zielplattform (target) die Verzeichnisse noch nicht vorhanden, so werden sie in Abhängigkeit des
Parameters
Die Auswahl der zu verarbeitenden Objekte (Dateien) geschieht auch in den Unterverzeichnissen über den
Parameter
Werden Unterverzeichnisse neu angelegt, so wird die Struktur unterhalb des Verzeichnis, welches mit dem
Parameter
Der JobScheduler unterstützt die Ersetzung (Substitution) von Parameter-Namen durch deren aktuellen Wert,
wenn der Parameter-Name mit
%
und
%
geklammert ist und als Wert für einen Parameter angegeben wird.
Der Parameter
The JobScheduler supports substitution of parameter names with their value if
the parameter name is enclosed by
%
and
%
.
In diesem Beispiel wird der Wert des Parameters "
In this example the value of the parameter "scheduler_file_path" is used as the value for the
parameter "source_file".
Using
Directory Monitoring with File Orders
the job parameter
This technique is useful when for example inserting the current date or a timestamp into a filename or
into a name of a
directory.
Mit dieser Technik können bei der Umbennenung von Dateinamen zusätzlich Platzhalter definiert werden,
die durch das aktuelle Datum oder einen Zeitstempel, ersetzt werden.
Mit dieser Technik können bei der Umbennenung von Dateinamen zusätzlich Platzhalter definiert werden,
die durch das aktuelle Datum oder einen Zeitstempel, ersetzt werden.
Supports masks for substitution in the file name
and directory
name with format strings that are
enclosed by brackets
([
and
]).
The following format strings are supported:
date format
must be a valid Java data format string,
e.g.
yyyyMMddHHmmss
,
yyyy-MM-dd.HHmmss
etc.
For further information on valid values for a dateformat string see
SimpleDateFormat
An example:
On 2050-12-31 the parameter
Ein Dateiauftrag ist ein Objekt des JobSchedulers.
Ein Dateiauftrag wird vom JobScheduler erzeugt, wenn in einem vom JobScheduler zu
überwachenden Verzeichnis
eine Datei angelegt wird.
Mit dem Dateiauftrag wird dann vom JobScheduler eine JobKette gestartet.
YADE kann dieses Verhalten simulieren, indem ebenfalls für jede Datei im Quellen- (source) Verzeichnis
ein Auftrag erzeugt wird.
Die Datei
wird in diesem Modus nicht transferiert. Dies muß dann die vom Auftrag gestartete Job-Kette durchführen.
Diese Funktionalität ist nur dann verfügbar und anwendbar, wenn YADE im JobScheduler als JITL-Job gestartet wird.
Ein Dateiauftrag ist ein Objekt des JobSchedulers.
Dateiaufträge funktionieren im JobScheduler für Verzeichnisse, die im File-System liegen, auf die die Instanz eines JobSchedulers
einen direkten Zugriff hat.
Für File-Systeme, auf die zum Beispiel über FTP zugegriffen wird, funktioniert dies nicht.
Diese Funktionalität stellt YADE bereit.
YADE kann ebenfalls für jede Datei im Quellen- (source) Verzeichnis
einen Datei-Auftrag erzeugen.
Dabei ist dies für jede Datenquelle, auf die
von YADE zugegriffen werden kann, möglich.
Der Auftrag kann, im Gegensatz zum durch den JobScheduler erzeugten Auftrag, mehrere Parameter haben.
Diese Parameter werden aus dem Job oder aus dem Auftrag, mit dem der YADE-Job gestartet wird, geclont.
Zu beachten ist, daß eine Datei in diesem Modus nicht transferiert wird.
Dies muß dann die vom Auftrag gestartete Job-Kette durchführen.
Das Löschen der Datei aus der Quelle muß von der JobKette, die die Datei abholt, eigenständig durchgeführt werden.
Diese Funktionalität ist nur dann verfügbar und anwendbar, wenn YADE im JobScheduler als JITL-Job gestartet wird.
Weiterführende Informationen zu Datei-Aufträgen ("file-orders") finden Sie hier:
Directory Monitoring with File Orders
.
For more information on "file-orders" see
Directory Monitoring with File Orders
.
This job is creating a result set.
A result set contains the names of
all files which are selected as
specified by the filter or search criteria.
The
content of the result set is returned as a parameter, but can be
written to a file, too.
The result set is sorted according to the used filter or search
parameters:
scheduler_file_path
gesetzt ist. Bei der
Verzeichnisüberwachung mit Dateiaufträgen
wird der Job-Parameter
[date:date format]
<param name="file"
value="sample/hello[date:yyyyMMdd].txt"
/>
file
contains the value
"sample/hello20501231.txt"
.
Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des oder der Filterkriterien ermittelt wurden. Die Ergebnisliste wird als Auftrags-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.
Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des oder der Filterkriterien ermittelt wurden. Die Ergebnisliste wird als Auftrags-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.
Checks for the existence of a file, a directory or for specific files inside of a directory. The job belongs to the category "FileOperations".
The JITL category "FileOperations" includes commonly used operations such as copying, renaming, moving and deleting of files. These File Operations are based on Java so they are available on all by JobScheduler supported os-platforms . In comparison with functions such as system-specific operating-system commands like copy, cp, move, mv, del and rm, which behave differently on different operating systems, handling and behavior of the File Operations job-classes is identical on all supported operating systems.
Most of the job implementations are supporting "regular expressions" on file names for filtering and searching the files which has to be processed.
File operations are often used in job chains that e.g. receive files by FTP, rename the files and transfer them to different locations.
This job implementation is supporting "regular expressions" on file names for filtering and searching
the files which has to be
processed.
Mit einem "regulären Ausdruck" kann eine sehr mächtige und effektive Selektion über Texte und Textbestandteile
formuliert und durchgeführt werden.
Some remarks on regular expression, used in JobScheduler and YADE.
A regular expression is not a
wildcard
.
To get an impression of the differences one have a look on the meaning of the wildcard *.txt, which will
select all filenames with the filename-extension ".txt".
A regular expression to match, e.g. works the same way, this "wildcard" must look like "^.*\.txt$".
That looks a little bit strange but it is much more flexible and powerfull on filtering filenames
than the concept of wildcards, if one want to filter more complex names or pattern.
The general syntax of an
regular expression, also referred to as regex or regexp,
is described
here.
It is different to other RegExp definitions, e.g. as for Perl.
For further information on regular expressions see
java.util.regex.Pattern
As an extension of regular expression the [date:] variable is supported. Using this feature it is possible to create a regexp, which is
depending on the date with is defined in the date-format.
If you want (only part of the regex) to be case sensitive , then you have the option to use
the (?-i) and [optionally] (?i) mode modifiers: (?-i)G[a-b](?i).*
If you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.
Einige Anmerkungen und Erklärungen zur Technik und Verwendung der regulären Ausdrücke in JobScheduler und YADE.
Ein regulärer Ausdruck ist keine
wildcard
.
Um einen ersten Eindruck bezüglich des Unterschiedes zwischen einem "regulären Ausdruck" und einer "wildcard" zu bekommen,
vergleichen Sie die Bedeutung der wildcard "*.txt" mit dem regulären Ausdruck "^.*\.txt$".
Beide Ausdrücke erlauben die Selektion aller Dateinamen, die mit einer beliebigen Zeichenfolge beginnen und dann mit
".txt" enden.
Der reguläre Ausdruck erfüllt in diesem Beispiel die gleichen Anforderungen, ist aber wesentlich mächtiger, sobald
komplexere Kriterien abgebildet werden müssen.
Die generelle Syntax eines
regulären Ausdrucks, auch bezeichnet als regex oder regexp,
ist
hier beschrieben.
Es weicht ab von anderen Definitionen der regulären Ausdrücke, zum Beispiel wie sie in Perl verwendet werden.
Für weitere Informationen über reguläre Ausdrücke siehe
java.util.regex.Pattern
Als Erweiterung der Syntax der regulären Ausdrücke kann die [date:]-variable verwendet werden.
Mit dieser Variablen kann z.B. ein regulärer Ausdruck gebildet werden, der das jeweilige aktuelle Datum enthält, ohne
daß der Ausdruck neu gebildet werden muß.
Wenn der Vergleich mit dem regulären Ausdruck, oder Teile des Ausdruck, die Groß-/Kleinschreibung berücksichtigt werden soll, so kann
dies mit der folgenden Schreibweise spezifiziert werden.
Durch Verwendung von (?-i) - Klein-/Großschreibung beachten - und [optional] (?i) - Klein-/Großschreibung nicht beachten - Modifikatoren: (?-i)G[a-b](?i).*
Sie sollten sicherstellen, daß die regex engine Unicode unterstützt, sobald Sie Unicode-Zeichen im regexp verwenden.
Andernfalls erhalten Sie unerwartete Ergebnisse des Vergleichs.
Recurse of subdirectories
Unterverzeichnisse werden in die Verarbeitung eingeschlossen.
Der Inhalt eines Unterverzeichnisses wird damit Bestandteil des
Transfers.
Es kann bestimmt werden, daß nicht vorhandene Unterverzeichnisse neu angelegt werden sollen.
Mit dem Parameter
Sind auf der Zielplattform (target) die Verzeichnisse noch nicht vorhanden, so werden sie in Abhängigkeit des
Parameters
Die Auswahl der zu verarbeitenden Objekte (Dateien) geschieht auch in den Unterverzeichnissen über den
Parameter
Werden Unterverzeichnisse neu angelegt, so wird die Struktur unterhalb des Verzeichnis, welches mit dem
Parameter
Der JobScheduler unterstützt die Ersetzung (Substitution) von Parameter-Namen durch deren aktuellen Wert,
wenn der Parameter-Name mit
%
und
%
geklammert ist und als Wert für einen Parameter angegeben wird.
Der Parameter
The JobScheduler supports substitution of parameter names with their value if
the parameter name is enclosed by
%
and
%
.
In diesem Beispiel wird der Wert des Parameters "
In this example the value of the parameter "scheduler_file_path" is used as the value for the
parameter "source_file".
Using
Directory Monitoring with File Orders
the job parameter
This technique is useful when for example inserting the current date or a timestamp into a filename or
into a name of a
directory.
Mit dieser Technik können bei der Umbennenung von Dateinamen zusätzlich Platzhalter definiert werden,
die durch das aktuelle Datum oder einen Zeitstempel, ersetzt werden.
Mit dieser Technik können bei der Umbennenung von Dateinamen zusätzlich Platzhalter definiert werden,
die durch das aktuelle Datum oder einen Zeitstempel, ersetzt werden.
Supports masks for substitution in the file name
and directory
name with format strings that are
enclosed by brackets
([
and
]).
The following format strings are supported:
date format
must be a valid Java data format string,
e.g.
yyyyMMddHHmmss
,
yyyy-MM-dd.HHmmss
etc.
For further information on valid values for a dateformat string see
SimpleDateFormat
An example:
On 2050-12-31 the parameter
Ein Dateiauftrag ist ein Objekt des JobSchedulers.
Ein Dateiauftrag wird vom JobScheduler erzeugt, wenn in einem vom JobScheduler zu
überwachenden Verzeichnis
eine Datei angelegt wird.
Mit dem Dateiauftrag wird dann vom JobScheduler eine JobKette gestartet.
YADE kann dieses Verhalten simulieren, indem ebenfalls für jede Datei im Quellen- (source) Verzeichnis
ein Auftrag erzeugt wird.
Die Datei
wird in diesem Modus nicht transferiert. Dies muß dann die vom Auftrag gestartete Job-Kette durchführen.
Diese Funktionalität ist nur dann verfügbar und anwendbar, wenn YADE im JobScheduler als JITL-Job gestartet wird.
Ein Dateiauftrag ist ein Objekt des JobSchedulers.
Dateiaufträge funktionieren im JobScheduler für Verzeichnisse, die im File-System liegen, auf die die Instanz eines JobSchedulers
einen direkten Zugriff hat.
Für File-Systeme, auf die zum Beispiel über FTP zugegriffen wird, funktioniert dies nicht.
Diese Funktionalität stellt YADE bereit.
YADE kann ebenfalls für jede Datei im Quellen- (source) Verzeichnis
einen Datei-Auftrag erzeugen.
Dabei ist dies für jede Datenquelle, auf die
von YADE zugegriffen werden kann, möglich.
Der Auftrag kann, im Gegensatz zum durch den JobScheduler erzeugten Auftrag, mehrere Parameter haben.
Diese Parameter werden aus dem Job oder aus dem Auftrag, mit dem der YADE-Job gestartet wird, geclont.
Zu beachten ist, daß eine Datei in diesem Modus nicht transferiert wird.
Dies muß dann die vom Auftrag gestartete Job-Kette durchführen.
Das Löschen der Datei aus der Quelle muß von der JobKette, die die Datei abholt, eigenständig durchgeführt werden.
Diese Funktionalität ist nur dann verfügbar und anwendbar, wenn YADE im JobScheduler als JITL-Job gestartet wird.
Weiterführende Informationen zu Datei-Aufträgen ("file-orders") finden Sie hier:
Directory Monitoring with File Orders
.
For more information on "file-orders" see
Directory Monitoring with File Orders
.
This job is creating a result set.
A result set contains the names of
all files which are selected as
specified by the filter or search criteria.
The
content of the result set is returned as a parameter, but can be
written to a file, too.
The result set is sorted according to the used filter or search
parameters:
scheduler_file_path
gesetzt ist. Bei der
Verzeichnisüberwachung mit Dateiaufträgen
wird der Job-Parameter
[date:date format]
<param name="file"
value="sample/hello[date:yyyyMMdd].txt"
/>
file
contains the value
"sample/hello20501231.txt"
.
Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des oder der Filterkriterien ermittelt wurden. Die Ergebnisliste wird als Auftrags-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.
Dieser Job erstellt eine Ergebnisliste. Die Ergebnisliste enthält die Namen aller Dateien die aufgrund des oder der Filterkriterien ermittelt wurden. Die Ergebnisliste wird als Auftrags-Parameter vom Job geliefert, kann aber auch als Datei erstellt werden.