Eine SPI (System Programming Interface) ist eine Plug-in-Erweiterung der Ausführungsumgebung. Compute-Grid-SPIs werden über eine Eigenschaftendatei konfiguriert, die die installierten SPIs und ihre Implementierungsklassennamen angibt.
Eigenschaftendatei | Attribut |
---|---|
Name | xd.spi.properties |
Position | <WAS-Installationsverzeichnis>/properties |
Format | <SPI-Name>=<SPI-Implementierungsklasse> |
Der Zweck der Parameterizer-SPI ist die Unterteilung des Jobs der obersten Ebene in mehrere untergeordnete Jobs. Die Parameterizer-SPI legt die Anzahl der untergeordneten Jobs fest, die erstellt werden sollen, sowie die Eingabeeigenschaften, die an jeden untergeordneten Job übergeben werden. Normalerweise enthalten die Eingabeeigenschaften Informationen dazu, welche Datenblöcke ein bestimmter untergeordneter Job verarbeitet. Die Implementierung der Parameterizer-SPI ist obligatorisch.
Es gibt eine standardmäßig verwendete Parameterizer-SPI, die die grundlegenden Funktionen des generischen Parameterizer bereitstellt. Um diese Implementierung in der Datei "xd.spi.properties" aufzurufen, setzen Sie die Eigenschaft von spi.parallel.Parameterizer auf den Wert der Eigenschaft com.ibm.ws.batch.parallel.BuiltInParameterizer. Wenn Sie die Anzahl der Unterjobs angeben möchten, verwenden Sie die Eigenschaft "com.ibm.wsspi.batch.parallel.jobs=N". Dabei steht "N" für die Anzahl der Unterjobs. Wenn Sie eine eindeutige Eigenschaft für eine bestimmte Unterjobinstanz angeben möchten, verwenden Sie die Eigenschaft com.ibm.wsspi.batch.parallel.prop.<Eigenschaftsname>.<Unterjob>=<Wert>. Dabei steht "Unterjob" für die Unterjobinstanz (1< Unterjob < N). Alle anderen Eigenschaften im Format <Eigenschaftsname>= <Wert> sind für alle Unterjobs sichtbar.
Die Synchronisierungs-SPI ermöglicht die Steuerung der verschiedenen Stadien im Lebenszyklus einer logischen Transaktion. Beispiel: Begin, beforeCompletion, afterCompletion usw. Mit Hilfe dieser Steuerpunkte können Sie gegebenenfalls ein Rollback der logischen Transaktion ausführen.
Die SubJobCollector-SPI sammelt Informationen zur Ausführung eines untergeordneten Jobs. In einer typischen Implementierung werden die Informationen zum Verarbeitungsfortschritt eines untergeordneten Jobs als externalisierbares Objekt im Kontext des untergeordneten Jobs gespeichert. Wenn der Batch-Container die Collector-SPI aufruft, werden die zuvor im Kontext des untergeordneten Jobs gespeicherten Informationen zurückgegeben.
Die SubJobAnalyzer-SPI wird zur Analyse von Informationen verwendet, die zuvor mit der SubJobCollector-SPI gesammelt wurden. In einer typischen Implementierung wird die SubJobAnalyzer-SPI verwendet, um Informationen, die aus allen untergeordneten Jobs erhalten wurden, zu sammeln und anhand dieser Informationen den konsolidierten Rückkehrcode für den Job der obersten Ebene zu ermitteln. Die SubJobAnalyzer-SPI wird während der Prüfpunktverarbeitung und bei Jobbeendigung aufgerufen.