Liberty:Datenbanktransaktion wiederherstellen

Wenn der Liberty-Transaktionsmanager unbestätigte Datenbanktransaktionen wiederherstellt, verwendet er entweder die eindeutige ID oder den JNDI-Namen, um das aktuelle dataSource-Element zu lokalisieren. Anschließend ermittelt er die Benutzer-ID und das Kennwort für die Wiederherstellung.

Konfigurieren Sie eine Datenquelle, indem Sie die Attribute des Elements dataSource in der Konfigurationsdatei server.xml angeben. Sie können der Datenquelle wie folgt eine eindeutige ID oder ein Attribut des Typs jndiName zuordnen:

 <dataSource id="ds1" jndiName="jdbc/ds1"... />

Sie dürfen den Wert des Attributs id bzw. jndiName nicht ändern, wenn die Wiederherstellung einer Transaktion ansteht, an der die Datenquelle beteiligt ist. Wenn Sie andere Attribute des Elements dataSource ändern, werden diese Änderungen für die Wiederherstellung beibehalten. So können Sie beispielsweise, ein Attribut recoveryAuthDataRef hinzuzufügen, mit dem Sie eine Datenbankbenutzer-ID und ein Kennwort für die Wiederherstellung angeben können.

Die für die Wiederherstellung zu verwendende Datenbankbenutzer-ID und das zugehörige Kennwort werden entsprechend der folgenden Rangfolge bestimmt:
  1. Wenn für das Element dataSource das Attribut recoveryAuthDataRef definiert ist, werden die Benutzer-ID und das Kennwort aus dem Element authData verwendet. Beispiel:
    <authData id="recoveryAuth" user="dbuser1" password="{xor}Oz0vKDtu"/>
    <dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2" 
                recoveryAuthDataRef="recoveryAuth" .../>
  2. Bei der Verwendung der containergesteuerten Authentifizierung werden die Benutzer-ID und das Kennwort aus dem containergesteuerten Authentifizierungsalias verwendet. Beispiel:
    • Die Datei ibm-web-bnd.xml enthält den folgenden Code:
      <resource-ref name="jdbc/ds1ref" binding-name="jdbc/ds1">
          <authentication-alias name="user1Auth"/>
       </resource-ref>
    • In der Datei server.xml müssen Sie den folgenden Code definieren:
      <authData id="user1Auth" user="dbuser1" password="{xor}Oz0vKDtu"/>
      <dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2" .../>
  3. Die Benutzer-ID und das Kennwort aus dem Element dataSource werden verwendet. Beispiel:
    <dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2" ...>
         <properties.db2.jcc databaseName="testdb" user="dbuser1" password="{xor}Oz0vKDtu"/>
    </dataSource>
  4. Wird keine dieser Bedingungen erfüllt und wird die Wiederherstellung ohne Benutzer-ID und Kennwort durchgeführt, dann wird das Verhalten vom JDBC-Treiber und der Datenbank bestimmt.
Anmerkung: Wenn die Transaktionswiederherstellung von einer anwendungsdefinierten Datenquelle durchgeführt wird, z. B. über die Annotation @DataSourceDefinition oder ein <data-source>-Element im Implementierungsdeskriptor, müssen Sie sicherstellen, dass die zugehörige Anwendung zum Zeitpunkt der Wiederherstellung aktiv ist. Konfigurationseinstellungen in der Datei server.xml können nicht verwendet werden, um anwendungsdefinierte Datenquellen wiederherzustellen.

Symbol das den Typ des Artikels anzeigt. Referenzartikel



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