Liberty-Repository[8.5.5.6 oder höher]

Konfiguration der Java-Stapelpersistenz

Die Java-Stapelfunktion (Java Batch) verwendet einen persistenten Speicher, damit der Status, die Prüfpunkte und die persistenten Anwendungsdaten während mehrerer Ausführungen einer Jobinstanz erhalten bleiben. Der persistente Speicher ermöglicht es, dass eine Jobinstanz erneut gestartet werden kann, wenn eine frühere Ausführung fehlschlägt oder gestoppt werden muss, indem er den erneut gestarteten Job mit den erforderlichen Daten bereitstellt.

Konfiguration der speicherbasierten Java-Stapelpersistenz

Die Stapelpersistenz ermöglicht es, dass eine Jobinstanz erneut gestartet werden kann, wenn die Ausführung mit dem Status FAILED (Fehlgeschlagen) oder STOPPED (Gestoppt) beendet wird. Bei Fehlen einer Stapelpersistenzkonfiguration verwendet die Java-Stapelfunktion (Java Batch) eine Standardfunktionalität für speicherbasierte Persistenz zur Verfolgung des Status, der Prüfpunkte und der persistenten Anwendungsdaten während mehrerer Ausführungen einer Jobinstanz.

Die speicherbasierte Persistenzimplementierung, die standardmäßig für die Java-Stapelfunktion definiert ist, wird vom zugrunde liegenden Stapelcontainer dann verwendet, wenn die Elemente batchPersistence und databaseStore in der Datei server.xml nicht vorhanden sind.

Anmerkung: Eine Beschränkung bei der speicherbasierten Java-Stapelpersistenz besteht darin, dass die Persistenz der Java-Stapelfunktion standardmäßig auf dem Speicher basiert. Wenn die Laufzeit des Stapelcontainers oder die Server-JVM ausfällt oder erneut gestartet wird, geht die Persistenz verloren. Diese Funktionalität ist nur für Entwicklungszwecke vorgesehen und darf nicht für Produktionssysteme oder kritische Stapelverarbeitungsunterstützung in Betracht gezogen werden.

Konfiguration der Java-Stapelpersistenz für die Datenbank

Standardmäßig werden Tabellen, die nicht vorhanden sind, automatisch von der Stapellaufzeit auf der Basis der im Element databaseStore definierten Serverkonfiguration erstellt. Die Tabellendefinitionen werden basierend auf den Attributen schema und tablePrefix des Datenbankspeichers angepasst.

Alternativ dazu kann eine auf der Serverkonfiguration basierende DLL mit dem Script ddlGen generiert werden. Falls erforderlich, kann die DLL angepasst werden, bevor die Tabellen manuell erstellt werden. Diese DDL umfasst auch die Serverkonfiguration wie schema und tablePrefix und sie enthält außerdem die geeignete SQL für den Datenbanktyp der vom Datenbankspeicher (databaseStore) referenzierten Datenquelle (dataSource).

Die automatische Erstellung von Tabellen kann mit dem Attribut createTables="false" im Datenbankspeicher (databaseStore) inaktiviert werden. Mit dieser Option kann auch sichergestellt werden, dass manuell erstellte Tabellen anstelle der automatisch erstellten Tabellen verwendet werden, falls die Stapellaufzeit die manuell erstellten Tabellen unerwarteterweise nicht finden sollte.

Die auf dieser Seite verwendeten Beispiele verwenden die automatisch erstellten Tabellen. Dieses Verhalten entspricht der Attributeinstellung createTables="true".

Beispiel für Persistenzkonfiguration

Im folgenden Beispiel wird der Stapelzugriff auf die automatisch erstellte Zieldatenbanktabelle RUNTIMEDB für Derby konfiguriert.
 <!-- Stapelpersistenzkonfiguration. Referenziert einen Datenbankspeicher. -->
    <batchPersistence jobStoreRef="BatchDatabaseStore" />

    <!-- Der Datenbankspeicher für die Stapeltabellen. -->
    <!-- Dieser Datenbankspeicher wird vom Element batchPersistence referenziert. -->
    <databaseStore id="BatchDatabaseStore" dataSourceRef="batchDB" schema="JBATCH" tablePrefix="" />

    <!-- Derby-JDBC-Treiber -->
    <!-- Diese Bibliothek wird vom Element dataSource referenziert. -->
    <library id="DerbyLib">
        <fileset dir="${server.config.dir}/resources/derby" />
    </library>

    <!-- Datenquelle für die Stapeltabellen. -->
    <!-- Diese Datenquelle wird vom Element databaseStore referenziert. -->
    <dataSource id="batchDB">
        <jdbcDriver libraryRef="DerbyLib"/>
        <properties.derby.embedded 
            databaseName="${server.config.dir}/resources/RUNTIMEDB"
            createDatabase="create"
            user="user" 
            password="pass" />
    </dataSource>

Symbol das den Typ des Artikels anzeigt. Referenzartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_batch_persistence_config
Dateiname: rwlp_batch_persistence_config.html