WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows,


xJCL-Elemente

Jobs werden mit dem XML-Dialekt (Extensible Markup Language) mit dem Namen xJCL (XML Job Control Language) definiert. Dieser Dialekt verfügt über Anweisungen, um alle erforderlichen Informationen für rechenintensive und Stapeljobs zu formulieren, obwohl einige Elemente von xJCL nur auf rechenintensive oder Stapeljobs anwendbar sind. Weitere Informationen zu xJCL können Sie der mit den Beispielanwendungen bereitgestellten xJCL, der xJCL-Tabelle und dem Schemadokument für xJCL XSD entnehmen. Die xJCL-Definition des Jobs gehört nicht zur Compute-Grid-Anwendung. Sie wird gesondert erstellt und zur Ausführung an den Job-Scheduler übergeben. Der Job-Scheduler verwendet die Informationen in der xJCL, um festzulegen, wo und wann der Job ausgeführt werden soll.

Die folgende Tabelle enthält eine Zusammenfassung der xJCL-Elemente:

Tabelle 1. xJCL-Elemente
Element Rechenintensiv Stapelbetrieb Unterelement Attribute Beschreibung
Job J J Nicht zutreffend Nicht zutreffend Definiert die Beschreibung eines Stapeljobs.
Nicht zutreffend J J Nicht zutreffend Name Name des Jobs. Dieser Name muss mit dem Namen der Compute-Grid-Anwendung übereinstimmen.
Nicht zutreffend J J jndi-name Nicht zutreffend Der JNDI-Name, der der Stateless-Session-Bean des Job-Controller zugeordnet wird, wenn die Compute-Grid-Anwendung in WebSphere Application Server implementiert wird.
Nicht zutreffend J J step-scheduling-criteria Siehe Element "step-scheduling-criteria". Nicht zutreffend
Nicht zutreffend N J checkpoint-algorithm Siehe Element "checkpoint-algorithm". Nicht zutreffend
Nicht zutreffend J J job-step Siehe Element "job-step". Nicht zutreffend
job-step Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend
Nicht zutreffend J++ J Nicht zutreffend Name Name des Abschnitts. Diese Information wird bei Betriebsbefehlen zurückgegeben.
Nicht zutreffend N J step-scheduling Siehe Element "step-scheduling". Ermöglicht eine bedingte, auf Rückkehrcodes von Abschnitten basierende Logik, die bestimmt, ob der Stapelabschnitt aufgerufen werden soll.
Nicht zutreffend N J checkpoint-algorithm-ref Siehe Element "checkpoint-algorithm-ref". Gibt den Prüfpunktalgorithmus an, der für den Abschnitt des Stapeljobs verwendet werden soll.
Nicht zutreffend J N classname Nicht zutreffend Vollständig qualifizierter Name einer Klasse, die den rechenintensiven Job implementiert.
Nicht zutreffend N J JNDI-name Nicht zutreffend Der logische JNDI-Name der Home-Schnittstelle für die Entity-Bean (Stapelabschnitt-Bean), mit der die Stapellaufzeitumgebung den Abschnitt des Jobstapels lädt.
Nicht zutreffend Nicht zutreffend Nicht zutreffend props Siehe Element "props". Name/Wert-Eigenschaften zur Übergabe des Schritts.
Nicht zutreffend N J batch-data-streams Siehe Element "batch-data-streams". Eine Folge von bds-Elementen. Jedes bds-Element ist die Konfigurationsinformation, die zum Erstellen eines Stapeldatenstroms erforderlich ist.
prop J J Nicht zutreffend Nicht zutreffend Eine einzelne Instanz eines Name/Wert-Paares, die als Eigenschaft verwendet wird.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Name Der Name der Eigenschaft.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Wert Der Wert der Eigenschaft.
props J J Nicht zutreffend Nicht zutreffend Eine Folge von prop-Elementen, mit denen Name/Wert-Paare als Eigenschaften an Abschnitte, bds-Elemente, Prüfpunktalgorithmen und Ergebnisalgorithmen übergeben werden.
Nicht zutreffend Nicht zutreffend Nicht zutreffend prop Siehe Element "prop". Nicht zutreffend
bds N J Nicht zutreffend Nicht zutreffend Ein bds-Element stellt eine einzelne Instanz einer Stapeldatenstromimplementierung dar, die dem Stapeljob zur Verfügung gestellt wird.
Nicht zutreffend Nicht zutreffend Nicht zutreffend logical-name Nicht zutreffend Eine Zeichenfolge, die in den Stapelabschnitt integriert wird und die der Stapelabschnitt verwendet, um eine bestimmte Stapeldatenstrominstanz von der Stapellaufzeitumgebung anzufordern.
Nicht zutreffend Nicht zutreffend Nicht zutreffend impl-class Nicht zutreffend Vollständig qualifizierter Klassenname der Implementierungsklasse für den Stapeldatenstrom.
Nicht zutreffend Nicht zutreffend Nicht zutreffend props Siehe Element "props". Eine Liste mit Eigenschaften, die an die Implementierungsklasse des Stapeldatenstroms übergeben wird.
batch-data-streams N J Nicht zutreffend Nicht zutreffend Eine Folge von bds-Elementen.
Nicht zutreffend Nicht zutreffend Nicht zutreffend bds Siehe Element "bds". Nicht zutreffend
step-scheduling N J Nicht zutreffend Nicht zutreffend Das Element step-scheduling kann auf job-step-Elemente angewendet werden, um basierend auf bedingten Abläufen für einen Stapeljob Rückkehrcodes zu erstellen. Das Element step-scheduling kann die Werte von Rückkehrcodes, die für den Stapeljob definiert sind, vergleichen, um zu entscheiden, ob ein Abschnitt während der Verarbeitung eines Stapeljobs aufgerufen werden soll oder nicht. Die Werte der Rückkehrcodes werden mit dem Element return verglichen.
Nicht zutreffend Nicht zutreffend Nicht zutreffend returncode-expression Siehe "returncode-expression". Der auszuwertende Ausdruck für den Rückkehrcode.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Bedingung Wenn das step-scheduling-Element mehrere returncode-expression-Elemente enthält, können bedingte Operatoren auf diese Elemente angewendet werden. Folgende bedingte Operatoren werden unterstützt: AND, OR.
returncode-expression N J Nicht zutreffend Nicht zutreffend Das Element returncode-expression wird für step-scheduling-Elemente verwendet, um basierend auf den Rückkehrcodes anderer Jobabschnitte zu entscheiden, ob ein bestimmter Abschnitt eines Stapeljobs ausgeführt werden soll.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Abschnitt Der Name des Abschnitts, dessen Rückkehrcode in diesem Ausdruck verglichen werden soll.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Operator Der Operator, der für den Ausdruck des Rückkehrcodes verwendet werden soll. Folgende Operatoren werden unterstützt: eq (equals = gleich), lt (less than = kleiner als), gt (greater than = größer als), le (less than or equal to = kleiner-gleich), ge (greater than or equal to = größer-gleich).
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Wert Der Wert, mit dem der Rückkehrcode verglichen werden soll.
step-scheduling-criteria N J Nicht zutreffend Nicht zutreffend Beschreibt die Folge, in der die Jobabschnitte verarbeitet werden. Derzeit wird nur die sequenzielle Planung unterstützt, d. h., die Abschnitte werden in der Reihenfolge aufgerufen, in der sie in der xJCL erscheinen.
Nicht zutreffend Nicht zutreffend Nicht zutreffend scheduling-mode Nicht zutreffend Reihenfolge, in der die Abschnitte aufgerufen werden sollen. Der einzige gültige Wert ist sequential.
checkpoint-algorithm N J Nicht zutreffend Nicht zutreffend Deklariert einen Prüfpunktalgorithmus, der für einen Stapeljobabschnitt verwendet werden kann.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Name Der Name des Algorithmus.
Nicht zutreffend Nicht zutreffend Nicht zutreffend classname Nicht zutreffend Die Klasse, die diesen Algorithmus implementiert.
Nicht zutreffend Nicht zutreffend Nicht zutreffend props Siehe Element "props". Eine Folge von props-Elementen für den Prüfpunktalgorithmus.
checkpoint-algorithm-ref N J Nicht zutreffend Nicht zutreffend Eine Referenz auf ein checkpoint-algorithm-Element.
Nicht zutreffend Nicht zutreffend Nicht zutreffend Nicht zutreffend Name Name des Prüfpunktalgorithmus, auf den Sie verweisen.
Nicht zutreffend Nicht zutreffend Nicht zutreffend props Siehe Element "props". Eine Folge von prop-Elementen für den Prüfpunktalgorithmus.

+ Es werden nur rechenintensive Jobs mit einem Abschnitt unterstützt.

xJCL-Elemente

Die folgende Tabelle enthält eine Zusammenfassung der xJCL-Elemente:

Tabelle 2. xJCL-Elemente
Element J2EE - Rechenintensiv J2EE - Stapel Natives Dienstprogramm Unterelement Attribute Beschreibung
Job J J N     Definiert die Beschreibung eines Stapeljobs.
  J J J   Name Name des Jobs. Dieser Name muss mit dem Namen der Compute-Grid-Anwendung übereinstimmen.
  J J J   accounting Optionales Informationsattribut für die Abrechnung.
  J J J   class Optionales Jobklassenattribut, das die Jobklasse angibt, unter der der Job ausgeführt wird.
  J J J   default-application-name Der Anwendungsname, der verwendet werden soll, wenn kein Attribut "application-name" für den Jobabschnitt gefunden wird.
  J J N jndi-name   Der JNDI-Name, der der Stateless-Session-Bean des Job-Controller zugeordnet wird, wenn die Compute-Grid-Anwendung im WebSphere Application Server implementiert wird.
  J J J job-scheduling criteria required-capability Die erforderliche Kapazität des Jobs, die auf einem Endpunkt definiert sein muss, damit der Job diesem Endpunkt zugeteilt werden kann.
  J J N

step-scheduling criteria

Siehe Element "step-scheduling-criteria".  
  N J N checkpoint algorithm Siehe Element "checkpoint-algorithm".  
  N J J results-algorithm Siehe Element "results-algorithms".  
  J J J

substitution-props++

Siehe Element "prop". Die erforderliche Kapazität des Jobs, die auf einem Endpunkt definiert sein muss, damit der Job diesem Endpunkt zugeteilt werden kann.
job-step            
  J* J N   Name Optionaler Name des Abschnitts. Diese Information wird bei Betriebsbefehlen zurückgegeben.
  J* J N   application-name Optionaler Name der vom Abschnitt ausgeführten Anwendung. Der Attributname wird verwendet, wenn das Element "application-name"und das Attribut "default-application-name" auf Jobebene nicht definiert sind.
  N J N step-scheduling Siehe Element "step-scheduling". Ermöglicht eine bedingte, auf Rückkehrcodes von Abschnitten basierende Logik, die bestimmt, ob der Stapelabschnitt aufgerufen werden soll.
  N J N JNDI-name   Der logische JNDI-Name der Home-Schnittstelle für die Entity-Bean (Stapelabschnitt-Bean), mit der die Stapelausführungsumgebung den Abschnitt des Jobstapels lädt.
  J J N classname   Vollständig qualifizierter Name einer Klasse, die den rechenintensiven Job implementiert.
  J N N checkpoint-algorithm-ref   Gibt den Prüfpunktalgorithmus an, der für den Abschnitt des Stapeljobs verwendet werden soll.
  N J N results-ref Siehe Element "results-ref". Gibt den für die bedingte Ausführung des Stapeljobabschnitts zu verwendenden Ergebnisalgorithmus an.
  N J N batch-data-streams Siehe Element "batch-data-streams". Das Element A ist eine Folge von bds-Elementen. Jedes bds-Element ist die Konfigurationsinformation, die zum Erstellen eines Stapeldatenstroms erforderlich ist.
  J J N props Siehe Element "props". Name-Wert-Eigenschaften, die an den Abschnitt übergeben werden.
  N N J exec Siehe Element "exec". Gibt die ausführbare Datei an, die diesem Jobabschnitt zugeordnet ist.
  N N J env-entries Siehe Element "env-entries". Gibt die Umgebungseigenschaften an, die dem Jobabschnitt zugeordnet sind.
prop J J N     Eine einzelne Instanz eines Name/Wert-Paares, die als Eigenschaft verwendet wird.
          Name Der Name der Eigenschaft.
          Wert Der Wert der Eigenschaft.
props J J N prop Siehe Element prop.  
env-entries N N J     Eine Folge von prop-Elementen, mit denen Name/Wert-Paare als Eigenschaften an Abschnitte, bds-Elemente, Prüfpunktalgorithmen und Ergebnisalgorithmen übergeben werden.
        env-var Siehe Element "env-var".  
exec N N J     Eine Folge von prop-Elementen, mit denen Name/Wert-Paare als Eigenschaften an Abschnitte, bds-Elemente, Prüfpunktalgorithmen und Ergebnisalgorithmen übergeben werden.
          Ausführbare Datei Der Name der ausführbaren Datei, die dem Jobabschnitt zugeordnet ist.
        arg Siehe Element "line".  
line N N J     Befehlszeilenparameter, die an die ausführbare Datei für den Jobabschnitt übergeben werden.
bds N J N     Ein bds-Element stellt eine einzelne Instanz einer Stapeldatenstromimplementierung dar, die dem Stapeljob zur Verfügung gestellt wird.
        logical-name   Eine Zeichenfolge, die in den Stapelabschnitt eingebettet ist, der sie verwendet, um die Stapellaufzeitumgebung nach einer bestimmten Instanz eines Stapeldatenstroms abzufragen.
        impl-class   Vollständig qualifizierter Klassenname der Implementierungsklasse für den Stapeldatenstrom.
        props Siehe Element props. Eine Liste mit Eigenschaften, die an die Implementierungsklasse des Stapeldatenstroms übergeben wird.
batch-data-streams N J N     Eine Folge von bds-Elementen.
             
        bds Siehe Element bds.  
step-scheduling N J       Wird auf job-step-Elemente angewendet, um basierend auf bedingten Abläufen für einen Stapeljob Rückkehrcodes zu erstellen. Vergleicht die Werte von Rückkehrcodes, die für den Stapeljob definiert sind, um zu entscheiden, ob ein Abschnitt während der Verarbeitung eines Stapeljobs aufgerufen werden soll oder nicht. Die Werte der Rückkehrcodes werden mit dem Element returncode-expression verglichen.
        returncode-expression Siehe "returncode-expression". Der auszuwertende Ausdruck für den Rückkehrcode.
          Bedingung Wenn das step-scheduling-Element mehrere returncode-expression-Elemente enthält, können bedingte Operatoren auf diese Elemente angewendet werden. Folgende bedingte Operatoren werden unterstützt: AND, OR.
returncode-expression N J       Das Element returncode-expression wird in step-scheduling-Elementen verwendet, um basierend auf den Rückkehrcodes anderer Jobabschnitte zu entscheiden, ob ein bestimmter Abschnitt eines Stapeljobs ausgeführt werden soll.
          Abschnitt Der Name des Abschnitts, dessen Rückkehrcode in diesem Ausdruck verglichen werden soll.
          Operator Der Operator, der für den Ausdruck des Rückkehrcodes verwendet werden soll. Folgende Operatoren werden unterstützt: eq (equals = gleich), lt (less than = kleiner als), gt (greater than = größer als), le (less than or equal to = kleiner-gleich), ge (greater than or equal to = größer-gleich).
          Wert Der Wert, mit dem der Rückkehrcode verglichen werden soll.
step-scheduling-criteria N J       Beschreibt die Folge, in der die Jobabschnitte verarbeitet werden. Derzeit wird nur die sequenzielle Planung unterstützt, d. h., die Abschnitte werden in der Reihenfolge aufgerufen, in der sie in der xJCL erscheinen.
        scheduling-mode   Die Reihenfolge, in der Abschnitte aufgerufen werden. Z. Zt. ist nur der Wert sequential (Sequenziell) möglich.
checkpoint-algorithm N J       Deklariert einen Prüfpunktalgorithmus, der für einen Stapeljobabschnitt verwendet werden kann.
          Name Der Name des Algorithmus.
        classname   Die Klasse, die diesen Algorithmus implementiert.
        props Siehe Element props. Eine Folge von prop-Elementen für den Prüfpunktalgorithmus.
checkpoint-algorithm-ref N J       Eine Referenz auf ein checkpoint-algorithm-Element.
          Name Name des Prüfpunktalgorithmus, auf den Sie verweisen.
        props Siehe Element props. Eine Folge von prop-Elementen für den Prüfpunktalgorithmus.

++ Das xJCL-Element substitution-props wird im Folgenden beschrieben.

xJCL-Element substitution-props

Die Job-JCL kann Symbolvariablen enthalten. Eine Symbolvariable ist ein Ausdruck im Format ${variable-name} außerhalb eines Kommentars in einem ansonsten korrekt formatierten Dokument. Beispiel:
<checkpoint-algorithm-ref name="${checkpoint}" />
Das xJCL-Element substitution-props definiert einen Standardnamen und Wertepaare für Symbolvariablen. Im Folgenden sehen Sie ein Beispiel für das Element substitution-props aus einem Dokument postingSampleXJCL.xml:
<substitution-props>
<prop name="wsbatch.count" value="5" /> 
<prop name="checkpoint" value="timebased" />
<prop name="checkpointInterval" value="15" />
<prop name="postingsDataStream" value="${was.install.root}${file.separator}temp${file.separator}postings" />
</substitution-props>

Die Substitution von Symbolvariablen erfolgt zur Laufzeit. Zur Laufzeit wird die Zeichenfolge ${variable-name} bei der Übergabe der xJCL zur Ausführung durch den Wert der Eigenschaft ersetzt. Unter Verwendung der Eigenschaften aus dem vorherigen Beispiel wird die Zeichenfolge ${checkpoint} durch die Zeichenfolge "timebased" ersetzt, bevor der Job übergeben wird.

Symbolvariablen können indirekt sein. Der Beispielausdruck "name=FILENAME value=${${filename}}", der mit dem Name/Wert-Paar "filename=postingsDataStream" verwendet wird, liefert dasselbe Ergebnis wie der Ausdruck "name=FILENAME value=${postingsDataStream}".

Symbolvariablen können verbunden werden. Beispiel: name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings.

Die Name/Wert-Paare müssen nicht im Element substitution-props des Jobdokuments definiert sein. Die props-Name/Wert-Paare, die im Element substitution-props definiert sind, sind Standardwerte für benannte Variablen. Sofern sie nicht im Element substitution-props definiert sind, müssen Name/Wert-Paare entweder über die APIs des Job-Schedulers übergeben werden, wenn der Job übergeben wird, oder in Systemeigenschaften der JVM definiert sein. Jede Symbolvariable, die im Hauptteil eines Jobdokuments definiert ist, muss aufgelöst werden, damit die xJCL als gültige xJCL betrachtet wird. Jedes Name/-Wert-Paar, das im Jobdokument definiert ist, muss in eine Symbolvariable aufgelöst werden, die im Hauptteil der xJCL enthalten ist, damit die xJCL als gültige xJCL betrachtet wird.

Wenn sowohl Name/Wert-Paare im xJCL-Dokument definiert sind als auch Name/Wert-Paare bei der Jobübergabe an die APIs des Job-Schedulers übergeben werden, überschreiben die Name/Wert-Paare, die über die APIs des Job-Schedulers übergeben werden, die im xJCL-Dokument definierten Standardwerte. Wenn keine Name/Wert-Paare über die APIs des Job-Schedulers übergeben werden und auch keine Standardwerte im xJCL-Dokument definiert sind, müssen Name/Wert-Paare für die Symbolvariablen in den Systemeigenschaften der JVM definiert werden, damit die xJCL als gültige xJCL betrachtet wird.

Symbolische Variablen werden vom Job-Scheduler vor der Jobübergabe aufgelöst. Eine Ausnahme bilden die folgenden Sondervariablen, die auf dem Grid-Endpunkt aufgelöst werden. Die Sondervariablen müssen alle als JVM-Systemeigenschaften definiert sein. Es handelt sind um die folgenden Variablen:
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}



Zugehörige Konzepte
XML-Schema für einen Stapeljob
xJCL-Beispiel für einen Stapeljob
xJCL-Beispiel für einen Job eines nativen Grid-Dienstprogramms
Konzeptartikel    

Nutzungsbedingungen | Feedback

Letzte Aktualisierung: 24.09.2009 16.45 Uhr EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/reference/cxdbatchjcl.html