Managementanwendung für parallele Jobausführung entwickeln

Sie können eine transaktionsorientierte Stapelanwendung als Job erstellen und den Job in untergeordnete Jobs aufteilen, sodass die untergeordneten Jobs unabhängig voneinander und parallel ausgeführt werden können. Sie verwenden Parallel Job Manager (PJM), um die transaktionsorientierten Stapeljobs zu übergeben und zu verwalten.

Vorbereitende Schritte

Hinweis zur Umstellung Hinweis zur Umstellung: Managementanwendungen für parallele Jobausführung, die für frühere Versionen von WebSphere Batch erstellt wurden, können in WebSphere Application Server Version 8.5 unverändert ausgeführt werden. Folgen Sie jedoch derselben Prozedur wie bei der Verwendung von zwei xJCl-Dateien, einer Datei xd.spi.properties und einer gemeinsam genutzten Bibliothek, die für zwei SPI-Implementierungen konfiguriert ist. Wenn Sie die Anwendung unverändert verwenden, führen Sie die Schritte der folgenden Prozedur nicht aus:trns
Hinweis zur Umstellung Hinweis zur Umstellung: Sie können Managementanwendungen für parallele Jobausführung auf WebSphere Application Server Version 8.5 migrieren. Fügen Sie die API-Implementierungsklassen der Anwendungs-EAR-Datei hinzu. Schreiben Sie die xJCL gemäß der Beschreibung in der folgenden Prozedur um.trns

Informationen zu diesem Vorgang

Sie entwickeln untergeordnete Jobs für Ihren Job, sodass die untergeordneten Jobs unabhängig voneinander und parallel ausgeführt werden können. Legen Sie zuerst die Kriterien fest, anhand derer die Jobs in untergeordnete Jobs aufgeteilt werden. Erstellen Sie anschließend eine einfache Stapelanwendung und definieren Sie die Teile der Anwendung als parallele Teile. Danach erstellen Sie die xJCls für die untergeordneten Jobs, sodass Sie die Anwendung in einer anderen Prozedur implementieren können.

Vorgehensweise

  1. Kriterien festlegen, anhand derer die Jobs in untergeordnete Jobs aufgeteilt werden.

    Teilen Sie die Jobs beispielsweise auf der Basis von Bankfilialen in untergeordnete Jobs auf, sodass der untergeordnete Job für jede Filiale auf dem Standort der Filiale basiert. Lassen Sie für eine bestimmte Bankfiliale den Saldo jedes Kontos am Ende des Tages vom untergeordneten Job auf der Basis der Tagestransaktionen für jedes Konto berechnen.

  2. Einfache Stapelanwendung für die Verarbeitung der Informationen als Job erstellen.
  3. Teile der Anwendung als parallele Teile definieren.

    Implementieren Sie die Parameter-API, um den Job für die Stapelanwendung in mehrere untergeordnete Jobs aufzuteilen.

  4. Optional: Informationen zu einem aktiven untergeordneten Job erfassen.

    Verwenden Sie die API "SubJobCollector", um die Informationen zu erfassen.

  5. Optional: Erfasste Informationen zum untergeordneten Job analysieren.

    Verwenden Sie die API "SubJobAnalyzer", um die Informationen zu analysieren.

  6. xJCL erstellen.

    Beginnen Sie mit der xJCL des Jobs, den Sie für die einfache Stapelanwendung erstellt haben.

    1. Geben Sie das Element "run" als untergeordnetes Element des Elements "job" an.
      1. Setzen Sie das Attribut "instances" im Element "run" auf multiple.
      2. Setzen Sie das JVM-Attribut (Java™ Virtual Machine) im Element "run" auf single oder auf multiple.

        Verwenden Sie das Attribut "single", wenn alle untergeordneten Jobs in derselben JVM ausgeführt werden sollen. Verwenden Sie das Attribut "multiple", wenn die untergeordneten Jobs in einer beliebigen gültigen JVM ausgeführt werden sollen.

      <run instances="multiple" jvm="multiple">

      Sie können das Element "run" als untergeordnetes Element eines Abschnitts angeben. In diesem Fall wird der Abschnitt als paralleler Job ausgeführt. Der Inhalt der Abschnitts-xJCL wird verwendet, um eine xJCL für den untergeordneten Job mit einem einzigen Abschnitt zu generieren.

    2. Geben Sie ein Element "prop" als untergeordnetes Element des Elements "run" für jede PJM-API an.
      1. Geben Sie die PJM-API im Attribut "name" an.
        Die folgenden APIs sind für PJM gültig:
        • com.ibm.websphere.batch.parallel.parameterizer
        • com.ibm.websphere.batch.parallel.synchronization
        • com.ibm.websphere.batch.parallel.subjobanalyzer
        • com.ibm.websphere.batch.parallel.subjobcollector
      2. Setzen Sie das Attribut "value" auf einen API-Namen.
    3. Fügen Sie ein Element "prop" ein, um den Namen des untergeordneten Jobs anzugeben.
      1. Setzen Sie das Attribut "name" auf com.ibm.wsspi.batch.parallel.subjob.name.
      2. Setzen Sie das Attribut "value" auf den Namen des Jobs.
    4. Optional: Fügen Sie ein Element "prop" ein, um die Jobanzahl festzulegen.
      1. Setzen Sie das Attribut "name" auf parallel.jobcount.
      2. Setzen Sie das Attribut "value" auf einen Wert für die Jobanzahl.
    5. Geben Sie alle anderen Jobeigenschaften an.
    <run instances="multiple" jvm="multiple">
        <props>
            <prop name="com.ibm.websphere.batch.parallel.parameterizer" 
             value="com.ibm.websphere.samples.spi.MailerParameterizer"/>
            <prop name="com.ibm.websphere.batch.parallel.synchronization" 
             value="com.ibm.websphere.samples.spi.MailerTXSynchronization"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobanalyzer" 
             value="com.ibm.websphere.samples.spi.MailerSubJobAnalyzer"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobcollector" 
             value="com.ibm.websphere.samples.spi.MailerSubJobCollector"/>
            
            <prop name="com.ibm.wsspi.batch.parallel.subjob.name" 
             value="MailerSampleSubJob" />
    			
            <!-- Die Anzahl zu übergebender paralleler untergeordneter Jobs -->
            <prop name="parallel.jobcount" value="3" />
    
        </props>
      </run>
  7. Fügen Sie dieselben drei Abschnittseigenschaften in jedem Abschnitt der xJCL hinzu.
    <prop name="com.ibm.wsspi.batch.parallel.jobname" value="${parallel.jobname}" />
    <prop name="com.ibm.wsspi.batch.parallel.logicalTXID" value="${logicalTXID}" />
    <prop name="com.ibm.wsspi.batch.parallel.jobmanager" value="${parallel.jobmanager}" />

Ergebnisse

Sie haben einen Job mit untergeordneten Jobs erstellt, die unabhängig voneinander und parallel ausgeführt werden können.

Nächste Schritte

Implementieren Sie die Anwendung wie jede andere Stapelanwendung.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_cgpjmdevelop
Dateiname:tgrid_cgpjmdevelop.html