[jboss-svn-commits] JBL Code SVN: r25044 - labs/jbosstm/enterprise/tags/EAP_4_3_0/Transactions_Failure_Recovery_Guide/de-DE.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 2 01:52:53 EST 2009


Author: hpeters
Date: 2009-02-02 01:52:52 -0500 (Mon, 02 Feb 2009)
New Revision: 25044

Modified:
   labs/jbosstm/enterprise/tags/EAP_4_3_0/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po
Log:
translation in process

Modified: labs/jbosstm/enterprise/tags/EAP_4_3_0/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po
===================================================================
--- labs/jbosstm/enterprise/tags/EAP_4_3_0/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po	2009-02-02 06:20:13 UTC (rev 25043)
+++ labs/jbosstm/enterprise/tags/EAP_4_3_0/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po	2009-02-02 06:52:52 UTC (rev 25044)
@@ -8,7 +8,7 @@
 "Project-Id-Version: Architecture_of_the_Recovery_Manager\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-09-23 06:30+0000\n"
-"PO-Revision-Date: 2009-01-23 18:17+1000\n"
+"PO-Revision-Date: 2009-02-02 16:52+1000\n"
 "Last-Translator: Hedda Peters <hpeters at redhat.com>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -168,7 +168,7 @@
 "Recovery Manager and used to create the appropriate Recovery Component able "
 "to receive recovery requests according to a particular transaction protocol. "
 "For instance the RecoveryCoordinator defined by the OTS protocol."
-msgstr ""
+msgstr "Sobald die <interfacename>RecoveryActivator</interfacename>-Instanzen geladen sind, liefern sie alle die <methodname>startRCservice</methodname>-Methode, die durch den Recovery-Manager aufgerufen wird zur Erstellung der passende Recovery-Komponente, welche Recovery-Anfragen entsprechend eines bestimmten Transaktionsprotokolls empfangen kann. Zum Beispiel der vom OTS-Protokoll definierte Recovery-Koordinator."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:64
@@ -176,7 +176,7 @@
 msgid ""
 "Each recovery module is used to recover a different type of transaction/"
 "resource, however each recovery module inherits the same basic behavior."
-msgstr ""
+msgstr "Jedes Recovery-Modul wird zur Wiederherstellung eines anderen Typs Transaktion/Ressource verwendet, obgleich jedes Recovery-Modul dieselben grundlegenden Verhaltensweisen erbt."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:67
@@ -189,7 +189,7 @@
 "backoff period. The timeout between the end of the second pass and the start "
 "of the first pass is the recovery period. The recovery period is larger than "
 "the backoff period."
-msgstr ""
+msgstr "Die Recovery besteht aus zwei separaten Durchläufen/Phasen, getrennt durch zwei Timeout-Zeiträume. Der erste Durchlauf durchsucht den Objektspeicher nach potenziell gescheiterten Transaktionen, der zweite Durchlauf führt Crash Recovery an gescheiterten Transaktionen aus. Der Timeout zwischen dem ersten und zweiten Durchlauf ist der sogenannte \"Backoff\"-Zeitraum. Der Timeout zwischen dem Ende des zweiten Durchlaufs und dem Start des ersten Durchlaufs ist der Recovery-Zeitraum. Der Recovery-Zeitraum ist länger als der Backoff-Zeitraum."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:70
@@ -199,7 +199,7 @@
 "applies the backoff period timeout, invokes the second pass upon each "
 "recovery module and finally applies the recovery period timeout before "
 "restarting the first pass again."
-msgstr ""
+msgstr "Der Recovery-Manager ruft den ersten Durchlauf auf an jedem Recovery-Modul, wartet den Backoff-Zeitraum ab, ruft den zweiten Durchlauf auf an jedem Recovery-Modul, und wartet anschließend den Recovery-Zeitraum ab, bevor er den ersten Durchlauf wieder startet."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:73
@@ -207,7 +207,7 @@
 msgid ""
 "The recovery modules are loaded via the following recovery extension "
 "property:"
-msgstr ""
+msgstr "Die Recovery-Module werden mittels der folgenden Recovery-Erweiterungseigenschaft geladen:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:76
@@ -216,6 +216,8 @@
 "com.arjuna.ats.arjuna.recovery.recoveryExtension&lt;number&gt;=&lt;"
 "RecoveryClass&gt;"
 msgstr ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension&lt;number&gt;=&lt;"
+"RecoveryClass&gt;"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:77
@@ -223,7 +225,7 @@
 msgid ""
 "The backoff period and recovery period are set using the following "
 "properties:"
-msgstr ""
+msgstr "Der Backoff-Zeitraum und der Recovery-Zeitraum werden eingestellt mittels der folgenden Eigenschaften:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:80
@@ -234,18 +236,22 @@
 "com.arjuna.ats.arjuna.recovery.periodicRecovery                (default 120 "
 "secs)"
 msgstr ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod        (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery                (default 120 "
+"secs)"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:81
 #, no-c-format
 msgid "The following java classes are used to implement the Recovery Manager:"
-msgstr ""
+msgstr "Die folgenden Java-Klassen werden verwendet, um den Recovery-Manager zu implementieren:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:86
 #, no-c-format
 msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
-msgstr ""
+msgstr "Paket <package>com.arjuna.ats.arjuna.recovery</package>:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:91
@@ -253,13 +259,13 @@
 msgid ""
 "RecoveryManager: The daemon process that starts up by instantiating an "
 "instance of the RecoveryManagerImple class."
-msgstr ""
+msgstr "RecoveryManager: Der Daemon-Prozess, der durch die Instanzierung einer Instanz der RecoveryManagerImple-Klasse startet."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:96
 #, no-c-format
 msgid "RecoveryEnvironment: Properties used by the recovery manager."
-msgstr ""
+msgstr "RecoveryEnvironment: Vom Recovery-Manager genutzte Eigenschaften."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:101
@@ -267,22 +273,23 @@
 msgid ""
 "RecoveryConfiguration: Specifies the name of the Recovery Manager property "
 "file. (for instance, RecoveryManager-properties.xml)"
-msgstr ""
+msgstr "RecoveryConfiguration: Spezifiziert den Namen der Recovery-Manager Eigenschaftsdatei (z. B. RecoveryManager-properties.xml)."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:108
 #, no-c-format
 msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
-msgstr ""
+msgstr "Paket <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:113
 #, no-c-format
+#, fuzzy
 msgid ""
 "RecoveryManagerImple: Creates and starts instances of the "
 "RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
 "thread."
-msgstr ""
+msgstr "RecoveryManagerImple: Erstellt und startet Instanzen des RecActivatorLoader, des PeriodicRecovery-Threads und des ExpiryEntryMonitor-Threads. (Instanzen der Threads, oder die Threads selbst?)"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:118
@@ -291,7 +298,7 @@
 "RecActivatorLoader: Dynamically loads in the RecoveryActivator specified in "
 "the Recovery Manager property file. Each RecoveryActicator is specified as a "
 "recovery extension in the properties file."
-msgstr ""
+msgstr "RecActivatorLoader: Lädt dynamisch im RecoveryActivator, der in der Recovery-Manager Eigenschaftsdatei spezifiziert ist. Jeder RecoveryActivator ist als eine Recovery-Erweiterung in der Eigenschaftsdatei spezifiziert."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:123
@@ -301,7 +308,7 @@
 "first pass method for each module, applies the backoff period timeout, calls "
 "the second pass method for each module and applies the recovery period "
 "timeout."
-msgstr ""
+msgstr "PeriodicRecovery: Thread, der jedes Recovery-Modul lädt, dann die Methode für den ersten Durchlauf für jedes Modul aufruft, den Backoff-Zeitraum abwartet, die Methode für den zweiten Durchlauf für jedes Modul aufruft, und den Recovery-Zeitraum abwartet."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:128
@@ -312,7 +319,7 @@
 "extension in the properties file (for instance, com.arjuna.ats.arjuna."
 "recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
 "AtomicActionRecoveryModule)."
-msgstr ""
+msgstr "RecoveryClassLoader: Lädt dynamisch in dem in der Recovery-Manager Eigenschaftsdatei spezifizierten Recovery-Modul. Jedes Modul ist in der Eigenschaftsdatei als Recovery-Erweiterung spezifiziert (z. B. com.arjuna.ats.arjuna.recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery.AtomicActionRecoveryModule)."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:136
@@ -321,13 +328,13 @@
 "By default, the recovery manager listens on the first available port on a "
 "given machine. If you wish to control the port number that it uses, you can "
 "specify this using the com.arjuna.ats.arjuna.recovery.recoveryPort attribute."
-msgstr ""
+msgstr "Standardmäßig lauscht der Recovery-Manager auf den ersten verfügbaren Port auf einer gegebenen Maschine. Wenn Sie kontrollieren möchten, welche Port-Nummer er verwenden soll, können Sie dies spezifizieren mittels des com.arjuna.ats.arjuna.recovery.recoveryPort-Attributs."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:141
 #, no-c-format
 msgid "Embedding the Recovery Manager"
-msgstr ""
+msgstr "Einbetten des Recovery-Managers"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:142
@@ -338,7 +345,7 @@
 "instance of the RecoveryManager through the manager method on com.arjuna.ats."
 "arjuna.recovery.RecoveryManager. A RecoveryManager can be created in one of "
 "two modes, selected via the parameter to the manager method:"
-msgstr ""
+msgstr "In manchen Situationen kann es notwendig sein, den Recovery-Manager in demselben Prozess einzubetten wie den Transaktionsdienst. In diesem Fall können Sie eine Instanz des Recovery-Managers erstellen durch die Manager-Methode auf com.arjuna.ats.arjuna.recovery.RecoveryManager. Ein Recovery-Manager kann in einer von zwei Modi erstellt werden, auswählbar via der Parameter zur Manager-Methode:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:148
@@ -347,7 +354,7 @@
 "INDIRECT_MANAGEMENT: the manager runs periodically but can also be "
 "instructed to run when desired via the scan operation or through the "
 "RecoveryDriver class to be described below."
-msgstr ""
+msgstr "INDIRECT_MANAGEMENT: Der Manager läuft periodisch, kann aber auch bei Bedarf angestoßen werden mittels der Scan-Operation oder der RecoveryDriver-Klasse, wie unten beschrieben."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:153
@@ -355,13 +362,13 @@
 msgid ""
 "DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
 "directly via the scan operation or RecoveryDriver."
-msgstr ""
+msgstr "DIRECT_MANAGEMENT: Der Manager läuft nicht periodisch, und muss direkt ausgeführt werden via Scan-Operation oder RecoveryDriver."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:159
 #, no-c-format
 msgid "Managing recovery directly"
-msgstr ""
+msgstr "Direktes Steuern der Recovery"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:160
@@ -370,13 +377,14 @@
 "As already mentioned, recovery typically happens at periodic intervals. If "
 "you require to drive recovery directly, then there are two options, "
 "depending upon how the RecoveryManager has been created."
-msgstr ""
+msgstr "Wie bereits erwähnt, erfolgt die Recovery in der Regel in periodischen Intervallen. Falls Sie die Recovery direkt durchführen müssen, gibt es dazu zwei Möglichkeiten, abhängig davon, wie der Recovery-Manager erstellt wurde."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:165
 #, no-c-format
+#, fuzzy
 msgid "Seperate Recovery Manager"
-msgstr ""
+msgstr "Separater (??) Recovery-Manager"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:166
@@ -387,7 +395,7 @@
 "recovery, or you can create an instance of the com.arjuna.ats.arjuna."
 "recovery.RecoveryDriver class to do likewise. There are two types of "
 "recovery scan available:"
-msgstr ""
+msgstr "Sie können entweder das com.arjuna.ats.arjuna.tools.RecoveryMonitor-Programm verwenden, um dem Recovery-Manager eine Nachricht zu senden und zur Durchführung einer Recovery aufzufordern, oder Sie können eine Instanz der com.arjuna.ats.arjuna.recovery.RecoveryDriver-Klasse erstellen, um dasselbe zu tun. Es stehen zwei Arten von Recovery Scan zur Verfügung:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:172
@@ -395,7 +403,7 @@
 msgid ""
 "ASYNC_SCAN: here a message is sent to the RecoveryManager to instruct it to "
 "perform recovery, but the response returns before recovery has completed."
-msgstr ""
+msgstr "ASYNC_SCAN: Hierbei wird eine Nachricht an den Recovery-Manager geschickt, um ihn zur Durchführung einer Recovery aufzufordern, aber die Antwort wird gesendet, noch bevor die Recovery abgeschlossen ist."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:177
@@ -403,23 +411,25 @@
 msgid ""
 "SYNC: here a message is sent to the RecoveryManager to instruct it to "
 "perform recovery, and the response occurs only when recovery has completed."
-msgstr ""
+msgstr "SYNC: Hierbei wird eine Nachricht an den Recovery-Manager geschickt, um ihn zur Durchführung einer Recovery aufzufordern, und die Antwort erfolgt erst, wenn die Recovery abgeschlossen ist."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:183
 #, no-c-format
+#, fuzzy
 msgid "In process Recovery Manager"
-msgstr ""
+msgstr "Laufender (??) Recovery-Manager"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:184
 #, no-c-format
+#, fuzzy
 msgid ""
 "You can invoke the scan operation on the RecoveryManager. This operation "
 "returns only when recovery has completed. However, if you wish to have an "
 "asynchronous interaction pattern, then the RecoveryScan interface is "
 "provided:"
-msgstr ""
+msgstr "Sie können die Scan-Operation auf dem Recovery-Manager aufrufen. Diese Operation kehrt nur (?) zurück, wenn die Recovery abgeschlossen ist. Falls Sie allerdings ein asynchrones Interaktionsmuster wünschen, ist die RecoveryScan-Schnittstelle bereitgestellt:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:188
@@ -430,6 +440,10 @@
 "        public void completed ();\n"
 "}"
 msgstr ""
+"public interface RecoveryScan\n"
+"{\n"
+"        public void completed ();\n"
+"}"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:189
@@ -438,13 +452,13 @@
 "An instance of an object supporting this interface can be passed to the scan "
 "operation and its completed method will be called when recovery finishes. "
 "The scan operation returns immediately, however."
-msgstr ""
+msgstr "Eine Instanz eines Objekts, das diese Schnittstelle unterstützt, kann an die Scan-Operation übergeben werden, und dessen \"completed\"-Methode wird aufgerufen werden, wenn die Recovery abgeschlossen ist. Die Scan-Operation kehrt jedoch sofort zurück."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:195
 #, no-c-format
 msgid "Recovery Modules"
-msgstr ""
+msgstr "Recovery Module"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:196
@@ -457,6 +471,8 @@
 "<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
 "Manager."
 msgstr ""
+"Wie bereits erwähnt, wird jedes Recovery-Modul für die Wiederherstellung eines anderen Typs von Transaktion/Ressource verwendet. Nichtsdestotrotz muss jedes Recovery-Modul die folgende RecoveryModule-Schnittstelle implementieren, welche zwei Methoden definiert: <methodname>periodicWorkFirstPass</methodname> und "
+"<methodname>periodicWorkSecondPass</methodname>, aufgerufen durch den Recovery-Manager."
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:199
@@ -478,12 +494,27 @@
 "        public void periodicWorkSecondPass ();\n"
 "}"
 msgstr ""
+"public interface RecoveryModule\n"
+"{\n"
+"        /**\n"
+"        * Called by the RecoveryManager at start up, and then\n"
+"        * PERIODIC_RECOVERY_PERIOD seconds after the completion, for all   \n"
+"        * RecoveryModules of the second pass\n"
+"        */\n"
+"        public void periodicWorkFirstPass ();\n"
+"        \n"
+"        /**\n"
+"        * Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds\n"
+"        * after the completion of the first pass\n"
+"        */\n"
+"        public void periodicWorkSecondPass ();\n"
+"}"
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:201
 #, no-c-format
 msgid "JBossTS Recovery Module Classes"
-msgstr ""
+msgstr "JBossTS Recovery-Modulklassen"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:202
@@ -493,37 +524,37 @@
 "recovery according to the nature of the participant and its position in a "
 "transactional tree. The provided classes (that all implements the "
 "<interfacename>RecoveryModule</interfacename> interface) are:"
-msgstr ""
+msgstr "JBossTS stellt eine Gruppe von Recovery-Modulen bereit, die verantwortlich sind für das Steuern der Recovery entsprechend der Art des Teilnehmers und dessen Position in einem transaktionalen Baum. Die bereitgestellten Klassen (die alle die <interfacename>RecoveryModule</interfacename>-Schnittstelle implementieren) sind:"
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:209
 #, no-c-format
 msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
-msgstr ""
+msgstr "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:210
 #, no-c-format
 msgid "Recovers AtomicAction transactions."
-msgstr ""
+msgstr "Stellt AtomicAction-Transaktionen wieder her."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:217
 #, no-c-format
 msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
-msgstr ""
+msgstr "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:218
 #, no-c-format
 msgid "Recovers Transactional Objects for Java."
-msgstr ""
+msgstr "Stellt transaktionale Objekte für Java wieder her."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:225
 #, no-c-format
 msgid "com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
-msgstr ""
+msgstr "com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:226
@@ -531,7 +562,7 @@
 msgid ""
 "Recovers JTS Transactions. This is a generic class from which TopLevel and "
 "Server transaction recovery modules inherit, respectively"
-msgstr ""
+msgstr "Stellt JTS-Transaktionen wieder her. Dies ist eine generische Klasse, von der Recovery-Module für Servertransaktionen bzw. für Transaktionen oberster Ebene erben."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:233
@@ -540,12 +571,14 @@
 "com.arjuna.ats.internal.jts.recovery.transactions."
 "TopLevelTransactionRecoveryModule"
 msgstr ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:234
 #, no-c-format
 msgid "Recovers JTS Toplevel Transactions."
-msgstr ""
+msgstr "Stellt JTS-Transaktionen oberster Ebene wieder her."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:241
@@ -554,12 +587,14 @@
 "com.arjuna.ats.internal.jts.recovery.transactions."
 "ServerTransactionRecoveryModule"
 msgstr ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:242
 #, no-c-format
 msgid "Recovers JTS Server Transactions."
-msgstr ""
+msgstr "Stellt JTS-Servertransaktionen wieder her."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:248
@@ -568,19 +603,19 @@
 "To illustrate the behavior of a recovery module, the following pseudo code "
 "describes the basic algorithm used for Atomic Action transactions and "
 "Transactional Objects for java."
-msgstr ""
+msgstr "Um die Verhaltensweise eines Recovery-Moduls zu veranschaulichen, beschreibt der folgende Pseudo-Code den grundsätzlichen Algorithmus, der für AtomicAction-Transaktionen und transaktionale Objekte für Java verwendet wird."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:252
 #, no-c-format
 msgid "AtomicAction pseudo code"
-msgstr ""
+msgstr "Pseudo-Code für AtomicAction"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:253
 #, no-c-format
 msgid "First Pass:"
-msgstr ""
+msgstr "Erster Durchlauf:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:257
@@ -593,13 +628,19 @@
 "        &lt; add the transaction to the vector of transactions. &gt;\n"
 "end while."
 msgstr ""
+"&lt; create a transaction vector for transaction Uids. &gt;\n"
+"&lt; read in all transactions for a transaction type AtomicAction. &gt;\n"
+"while &lt; there are transactions in the vector of transactions. &gt;\n"
+"do\n"
+"        &lt; add the transaction to the vector of transactions. &gt;\n"
+"end while."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:258
 #: Architecture_of_the_Recovery_Manager.xml:267
 #, no-c-format
 msgid "Second Pass:"
-msgstr ""
+msgstr "Zweiter Durchlauf:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:261
@@ -619,18 +660,31 @@
 "        endif.\n"
 "end while."
 msgstr ""
+"while &lt; there are transactions in the transaction vector &gt;\n"
+"do\n"
+"        if &lt; the intention list for the transaction still exists &gt;\n"
+"        then\n"
+"                &lt; create new transaction cached item &gt;\n"
+"                &lt; obtain the status of the transaction &gt;\n"
+"                                        \n"
+"                if         &lt; the transaction is not in progress &gt;\n"
+"                then\n"
+"                        &lt; replay phase two of the commit protocol &gt;\n"
+"                endif.\n"
+"        endif.\n"
+"end while."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:263
 #, no-c-format
 msgid "Transactional Object pseudo code"
-msgstr ""
+msgstr "Pseudo-Code für transaktionale Objekte"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:264
 #, no-c-format
 msgid "First Pass"
-msgstr ""
+msgstr "Erster Durchlauf"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:266
@@ -648,6 +702,17 @@
 "        end if.\n"
 "end while."
 msgstr ""
+"&lt; Create a hash table for uncommitted transactional objects. &gt;\n"
+"&lt; Read in all transactional objects within the object store. &gt;\n"
+"while &lt; there are transactional objects &gt;\n"
+"do\n"
+"        if         &lt; the transactional object has an Uncommited status in "
+"the object store &gt;\n"
+"        then\n"
+"                &lt; add the transactional Object o the hash table for "
+"uncommitted transactional objects&gt;\n"
+"        end if.\n"
+"end while."
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:270
@@ -672,12 +737,30 @@
 "        endif.\n"
 "end while."
 msgstr ""
+"while &lt; there are transactions in the hash table for uncommitted "
+"transactional objects &gt;\n"
+"do\n"
+"        if &lt; the transaction is still in the Uncommitted state &gt;\n"
+"        then\n"
+"                if &lt; the transaction is not in the Transaction Cache "
+"&gt;\n"
+"                then\n"
+"                        &lt; check the status of the transaction with the "
+"original application process &gt;\n"
+"                        if &lt; the status is Rolled Back or the application "
+"process is inactive &gt;\n"
+"                                &lt; rollback the transaction by removing "
+"the Uncommitted status from the Object Store &gt;\n"
+"                        endif.\n"
+"                endif.\n"
+"        endif.\n"
+"end while."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:272
 #, no-c-format
 msgid "A Recovery Module for XA Resources"
-msgstr ""
+msgstr "Ein Recovery-Modul für XA-Ressourcen"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:273
@@ -688,6 +771,8 @@
 "that implements the two methods defined by the "
 "<interfacename>RecoveryModule</interfacename> interface."
 msgstr ""
+"Zur Steuerung der Recovery zu steuern löst der Recove–ywManager - Wie wir im vorigen Kapitel ges–ehaben .- , einen Rzcovery-Process er eine Reihe von Recovery-Modulen aufruft, welche die zwei Methoden implementieren, die durch die us, indem"
+"<interfacename>RecoveryModule</int-Schnittstelle definiert sind.erfacename>"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:277
@@ -700,7 +785,7 @@
 "arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
 "<interfacename>XA</interfacename> resources (for example, databases) used in "
 "JTA."
-msgstr ""
+msgstr "Um die Wiederherstellung von Teilnehmern zu ermöglichen, die via der <interfacename>XA</interfacename>-Schnittstelle kontrolliert werden, ist ein spezifisches Recovery-Modul namens XARecoveryModule bereitgestellt. Das in den Paketen <package>com.arjuna.ats.internal.jta.recovery.arjunacore</package> und <package>com.arjuna.ats.internal.jta.recovery.jts</package> definierte XARecoveryModule erledigt die Recovery von den in JTA verwendeten <interfacename>XA</interfacename>-Ressourcen (z. B. Datenbanken)."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:281
@@ -710,7 +795,7 @@
 "distributed transactions) and a version layered on the JTS. Recovery for the "
 "former is straightforward. In the following discussion we shall implicitly "
 "consider on the JTS implementation."
-msgstr ""
+msgstr "JBossTS unterstützt zwei JTA-Implementierungen: eine rein lokale Version (keine verteilten Transaktionen) und eine Version basierend auf dem JTS. Eine Recovery der ersteren ist unkompliziert. Für die folgende Erörterung soll implizit die JTS-Implementierung berücksichtigt werden."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:285
@@ -721,13 +806,13 @@
 "initiated recovery is possible where the particular transaction branch had "
 "progressed far enough for a JTA Resource Record to be written in the "
 "ObjectStore, as illustrated in Figure 2."
-msgstr ""
+msgstr "Dessen Verhaltensweise besteht aus zwei Aspekten: <emphasis>transaktionsinitiierte</emphasis> und <emphasis>ressourceninitiierte</emphasis> Recovery. Transaktionsinitiierte Recovery ist dort möglich, wo der fragliche Transaktionszweig weit genug fortgeschritten war, so dass eine JTA-Ressourcenaufzeichnung in den Objektspeicher geschrieben werden konnte, wie in Abbildung 2 veranschaulicht."
 
 #. Tag: caption
 #: Architecture_of_the_Recovery_Manager.xml:292
 #, no-c-format
 msgid "JTA/JDBC information stored in the ObjectStore"
-msgstr ""
+msgstr "Im Objektspeicher gespeicherte JTA/JDBC-Informationen"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:294
@@ -741,7 +826,7 @@
 "necessary for datasources for which it is not possible to hold information "
 "in the JTA Resource record that allows the recreation in the RecoveryManager "
 "of the XAConnection/XAResource that was used in the original application."
-msgstr ""
+msgstr "Eine JTA-Ressourcenaufzeichnung enthält die nötigen Informationen zum Verbinden der Transaktion, so wie dem Rest von JBossTS bekannt, mit der Datenbank. Ressourceninitiierte Recovery ist notwendig für Zweige, in denen der Fehler auftrat, nachdem die Datenbank eine persistente Aufzeichnung der Transaktion vorgenommen hat, aber bevor die JTA-Ressourcenaufzeichnung persistent gemacht wurde. Ressourceninitiierte Recovery ist ebenfalls notwendig für Datenquellen, für die es nicht möglich ist, Informationen in den JTA-Ressourcenaufzeichnungen zu speichern, die die Wiederherstellung im Recovery-Manager der XA-Verbindung oder XA-Ressource ermöglicht, welche in der ursprünglichen Anwendung verwendet wurden."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:298
@@ -759,6 +844,8 @@
 "property> should be alphanumeric and match the values of <property>com."
 "arjuna.ats.arjuna.xa.nodeIdentifier</property>."
 msgstr ""
+"Beim Ausführen von XA-Recovery ist es nötig, JBossTS die Xid-Typen zu nennen, die es wiederherstellen kann. Jede von JBossTS erstellte Xid hat einen eindeutigen Knoten-Identifier in sich enkodiert, und JBossTS wird nur diejenigen Transaktionen und Zustände wiederherstellen, die auf einen spezifizierten Knoten-Identifier passen. Der zu verwendende Knoten-Identifier sollte JBossTS geliefert werden mittels einer Eigenschaft, die mit dem Namen <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property> beginnt; mehrere Werte können angegeben sein. Der Wert ‘*’ zwingt JBossTS zum Wiederherstellen (und möglicherweise Zurücksetzen) aller Transaktionen ungeachtet ihrer Knoten-Identifier, und sollte daher mit Bedacht verwendet werden. Die Inhalte von <property>com.arjuna.ats.jta.xaRecoveryNode</property> sollten alphanumerisch sein und den Werten von<property>com.arjuna.ats.arjuna.xa.nodeIdentifier</property> entsprechen."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:302
@@ -772,13 +859,13 @@
 "rollback on it as appropriate. The XAResource creation will use the same "
 "information, database name, username, password etc., as the original "
 "application."
-msgstr ""
+msgstr "Transaktionsinitiierte Recovery erfolgt automatisch. Das XARecoveryModule findet die JTA-Ressourcenaufzeichnung, die Recovery benötigt, und wendet dann normale Recovery-Mechanismen an, um den Zustand der Transaktion herauszufinden, an der es beteiligt war (z. B. ruft es replay_completion auf am Recovery-Koordinator für den Transaktionszweig), stellt die passende XA-Ressource (wieder) her, und veranlasst entsprechend ein Festschreiben oder Zurücksetzen. Die Erstellung der XA-Ressource wird dieselbe Information, Datenbankname, Benutzername, Passwort etc. verwenden, wie die ursprüngliche Anwendung."
 
 #. Tag: caption
 #: Architecture_of_the_Recovery_Manager.xml:309
 #, no-c-format
 msgid "Transaction-Initiated Recovery and XA Recovery"
-msgstr ""
+msgstr "Transaktionsinitiierte Recovery und XA-Recovery"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:311
@@ -793,13 +880,13 @@
 "Instances of classes that implements the XAResourceRecovery interface are "
 "dynamically loaded, as controlled by properties with names beginning "
 "<property>com.arjuna.ats.jta.recovery.XAResourceRecovery</property>."
-msgstr ""
+msgstr "Ressourceninitiierte Recovery muss speziell konfiguriert werden, indem der Recovery-Manager mit entsprechenden Informationen versorgt wird, damit dieser alle Datenbanken (XADataSouce) befragen kann, auf die von jeglicher JBossTS-Anwendung zugegriffen wurde. Der Zugriff auf jede XADataSource wird gehandhabt von einer Klasse, welche die <interfacename>com.arjuna.ats.jta.recovery.XAResourceRecovery</interfacename>-Schnittstelle implementiert, wie in Abbildung 4 dargestellt. Instanzen von Klassen, welche die XAResourceRecovery-Schnittstelle implementieren, werden dynamisch geladen, wie durch Eigenschaften kontrolliert, deren Namen beginnen mit <property>com.arjuna.ats.jta.recovery.XAResourceRecovery</property>."
 
 #. Tag: caption
 #: Architecture_of_the_Recovery_Manager.xml:318
 #, no-c-format
 msgid "Resource-initiated recovery and XA Recovery"
-msgstr ""
+msgstr "Ressourceninitiierte Recovery und XA-Recovery"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:321
@@ -809,7 +896,7 @@
 "deprecated in favor of <interfacename>XAResourceRecovery</interfacename>. "
 "Although the old interface still exists at the moment, users are encouraged "
 "to migrate to the new interface."
-msgstr ""
+msgstr "JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> wurde missbilligt zugunsten von <interfacename>XAResourceRecovery</interfacename>. Obwohl die alte Schnittstelle zur Zeit noch vorhanden ist, werden Benutzer dazu ermutigt, auf die neue Schnittstelle zu migrieren."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:325
@@ -826,7 +913,7 @@
 "found by the intervening transaction-initiated recovery is assumed to belong "
 "to a transaction that was involved in a crash before any JTA ResourceRecord "
 "was written, and a rollback is issued for that transaction on the XAResource."
-msgstr ""
+msgstr "Das XARecoveryModule wird die XAResourceRecovery-Implementierung nutzen, um eine XA-Ressource zur Zieldatenquelle zu bekommen. Bei jedem Aufruf von periodicWorkSecondPass wird das Recovery-Modul eine XAResource.recover-Anfrage ausgeben – dies wird (wie in den XA-Spezifikationen beschrieben) eine Liste zurückgeben der Transaktions-Identifier (Xids), die der Datenquelle bekannt sind und sich in einem unbestimmten (zweifelhaften) Zustand befinden. Die Liste dieser zweifelhaften Xids, erhalten bei aufeinanderfolgenden Durchläufen (d. h. periodicWorkSecondPass-es), wird verglichen. Von jeder Xid, die in beiden Listen erscheint und für die keine JTA-Ressourcenaufzeichnung gefunden wird von der eingreifenden transaktionsinitiierten Recovery, wird angenommen, dass sie zu einer Transaktion gehört, die an einem Crash beteiligt war, bevor jegliche JTA-Ressourcenaufzeichnungen geschrieben wurden, und ein Zurücksetzen wird eingeleitet für diese Transaktion auf der XA-Res!
 source."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:328
@@ -837,7 +924,7 @@
 "about to create the corresponding JTA_ResourceRecord. The interval between "
 "the scans should allow time for the record to be written unless the "
 "application crashes (and if it does, rollback is the right answer)."
-msgstr ""
+msgstr "Dieses doppelte Scan-Verfahren wird angewendet, da es möglich ist, dass die Xid von der Datenquelle bezogen wurde, gerade als der ursprüngliche Anwendungsprozess im Begriff war, die entsprechende JTA_ResourceRecord zu erstellen. Der Zeitraum zwischen den Scans sollte Zeit genug lassen zum Schreiben dieser Aufzeichnung, es sei denn, die Anwendung crasht (wobei dann ein Zurücksetzen die richtige Maßnahme ist)."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:331
@@ -853,7 +940,7 @@
 "class name: everything after the first semi-colon is passed as the value of "
 "the string. The use made of this string is determined by the "
 "<classname>XAResourceRecovery</classname> implementation class."
-msgstr ""
+msgstr "Eine <classname>XAResourceRecovery</classname>-Implementierungsklasse kann geschrieben werden, um alle nötigen Informationen zu enhalten für eine Recovery bestimmter Datenquellen. Alternativ kann eine einzelne Klasse mehrere Datenquellen handhaben. Der Konstruktor der Implementierungsklasse muss eine Liste leerer Parameter besitzen (da er dynamisch geladen wird), aber die Schnittstelle beinhaltet eine Initialisierungsmethode, welche weitere Informationen als String weitergibt. Der Inhalt des Strings wird dem Eigenschaftswert entnommen, der den Klassennamen liefert: alles nach dem ersten Semikolon wird als Wert des Strings übergeben. Die Verwendung dieses Strings ist festgelegt durch die <classname>XAResourceRecovery</classname>-Implementierungsklasse."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:334
@@ -864,13 +951,13 @@
 "chapter of the JTA Programming Guide. An implementation class is provided "
 "that supports resource-initiated recovery for any XADataSource. This class "
 "could be used as a template to build your own implementation class."
-msgstr ""
+msgstr "Für weitere Einzelheiten über das Vorgehen zur Implementierung einer Klasse, welche die Schnittstelle <interfacename>XAResourceRecovery</interfacename> implementiert, lesen Sie bitte das JDBC-Kapitel des JTA-Handbuchs für Programmierer. Eine Implementierungsklasse wird bereitgestellt, die ressourceninitiierte Recovery unterstützt für jedwede XADataSource. Diese Klasse kann als Vorlage benutzt werden, um Ihre eigenen Implementierungsklassen zu bauen."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:338
 #, no-c-format
 msgid "Writing a Recovery Module"
-msgstr ""
+msgstr "Schreiben eines Recovery-Moduls"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:339
@@ -886,13 +973,13 @@
 "for a user to define their own recovery module to fit their application. The "
 "following basic example illustrates the steps needed to build such recovery "
 "module"
-msgstr ""
+msgstr "Um im Fehlerfall wiederherzustellen, kontaktiert der Recovery-Manager wie wir gesehen haben Recovery-Module, indem er periodisch die Methoden <methodname>periodicWorkFirstPass</methodname> und <methodname>periodicWorkSecondPass</methodname> aufruft. Jedes Modul kann daraufhin die Recovery entsprechend des Ressourcentyps steuern, der wiederhergestellt werden muss. Das JBoss-Transaktionsprodukt wird mit einer Reihe von Recovery-Modulen ausgeliefert (TOReceveryModule, XARecoveryModule…), aber es ist dem Benutzer möglich, seine eigenen, auf ihre Anwendung angepassten Recovery-Module zu definieren. Das folgende, einfache Beispiel veranschaulicht die nötigen Schritte, um ein solches Recovery-Modul zu bauen."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:342
 #, no-c-format
 msgid "A basic scenario"
-msgstr ""
+msgstr "Ein einfaches Szenario"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:343
@@ -901,7 +988,7 @@
 "This basic example does not aim to present a complete process to recover "
 "from failure, but mainly to illustrate the way to implement a recovery "
 "module."
-msgstr ""
+msgstr "Dieses einfache Beispiel zielt nicht darauf ab, einen vollständigen Prozess der Fehler-Recovery zu zeigen, sondern hauptsächlich darauf, darzustellen, wie ein Recovery-Modul implementiert wird."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:345
@@ -910,25 +997,25 @@
 "The application used here consists to create an atomic transaction, to "
 "register a participant within the created transaction and finally to "
 "terminate it either by commit or abort. A set of arguments are provided:"
-msgstr ""
+msgstr "Die hier verwendete Anwendung besteht darin, eine Atomic Transaction zu erstellen, einen Teilnehmer in der erstellten Transaktion zu registrieren, und sie schließlich zu beenden durch entweder Festschreiben oder Abbrechen. Eine Reihe von Argumenten werden geliefert:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:350
 #, no-c-format
 msgid "to decide to commit or abort the transaction,"
-msgstr ""
+msgstr "zum Entscheiden über Festschreiben oder Abbruch der Transaktion,"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:355
 #, no-c-format
 msgid "to decide generating a crash during the commitment process."
-msgstr ""
+msgstr "zum Entscheiden, einen Crash zu generieren während des Festschreibunsgprozesses."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:360
 #, no-c-format
 msgid "The code of the main class that control the application is given below"
-msgstr ""
+msgstr "Der Code der Hauptklasse, welche die Anwendung kontrolliert, ist unten angegeben."
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:363
@@ -975,12 +1062,52 @@
 "        protected static boolean _crash = false;\n"
 "}"
 msgstr ""
+"package com.arjuna.demo.recoverymodule;\n"
+"        \n"
+"import com.arjuna.ats.arjuna.AtomicAction;\n"
+"import com.arjuna.ats.arjuna.coordinator.*;\n"
+"        \n"
+"public class TestRecoveryModule\n"
+"{\n"
+"        public static void main(String args[])\n"
+"        {\n"
+"                try \n"
+"                {\n"
+"                        AtomicAction tx = new AtomicAction();\n"
+"                        tx.begin(); // Top level begin\n"
+"        \n"
+"                        // enlist the participant \n"
+"                        tx.add(SimpleRecord.create());\n"
+"        \n"
+"                        System.out.println(\"About to complete the "
+"transaction \");\n"
+"                        for (int i = 0; i &lt; args.length; i++)\n"
+"                        {\n"
+"                                if ((args[i].compareTo(\"-commit\") == 0))\n"
+"                                _commit = true;\n"
+"                                if ((args[i].compareTo(\"-rollback\") == "
+"0))\n"
+"                                _commit = false;\n"
+"                                if ((args[i].compareTo(\"-crash\") == 0))\n"
+"                                _crash = true;\n"
+"                        }\n"
+"                        if (_commit)\n"
+"                                tx.commit();  // Top level commit\n"
+"                        else \n"
+"                                tx.abort();  // Top level rollback\n"
+"                        } catch(Exception e) {\n"
+"                        e.printStackTrace();\n"
+"                }\n"
+"        }\n"
+"        protected static boolean _commit = true;\n"
+"        protected static boolean _crash = false;\n"
+"}"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:364
 #, no-c-format
 msgid "The registered participant has the following behavior:"
-msgstr ""
+msgstr "Der registrierte Teilnehmer hat die folgenden Verhaltensweisen:"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:369
@@ -989,7 +1116,7 @@
 "During the prepare phase, it writes a simple message - <emphasis>I’m "
 "prepared</emphasis>- on the disk such The message is written in a well known "
 "file."
-msgstr ""
+msgstr "Während der Vorbereitungsphase schreibt er eine einfache Nachricht – <emphasis>Ich bin vorbereitet</emphasis> – auf die Platte, wobei die Nachricht in eine gut bekannte Datei geschrieben wird."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:374
@@ -997,7 +1124,7 @@
 msgid ""
 "During the commit phase, it writes another message - <emphasis>I’m "
 "committed</emphasis>- in the same file used during prepare."
-msgstr ""
+msgstr "Während der Festschreibungsphase schreibt er eine weitere Nachricht – <emphasis>Ich bin festgeschrieben(???)</emphasis> – in dieselbe Datei wie schon während der Vorbereitungsphase."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:379
@@ -1005,15 +1132,16 @@
 msgid ""
 "If it receives an abort message, it removes from the disk the file used for "
 "prepare if any."
-msgstr ""
+msgstr "Falls er eine Abbruchnachricht empfängt, löscht er die bei der Vorbereitung verwendete Datei von der Platte, falls eine Datei existiert."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:384
 #, no-c-format
+#, fuzzy
 msgid ""
 "If a crash has been decided for the test, then it crashes during the commit "
 "phase – the file remains with the message <emphasis>I’m prepared</emphasis>."
-msgstr ""
+msgstr "Falls für den Test ein Crash vorgesehen wurde, dann crasht er während während der Festschreibungsphase – die Datei bleibt mit der <emphasis>Ich bin vorbereitet</emphasis>-Nachricht erhalten."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:389
@@ -1021,13 +1149,14 @@
 msgid ""
 "The main portion of the code illustrating such behavior is described "
 "hereafter."
-msgstr ""
+msgstr "Der Großteil des Codes, der diese Verhaltensweisen illustriert, wird nachfolgend beschrieben."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:393
 #, no-c-format
+#, fuzzy
 msgid "The location of the file given in variable filename can be changed"
-msgstr ""
+msgstr "Der Speicherort der gegebenen Datei kann mit verschiedenen Dateinamen geändert werden."
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:397
@@ -1095,6 +1224,67 @@
 "        …\n"
 "}"
 msgstr ""
+"package com.arjuna.demo.recoverymodule;\n"
+"        \n"
+"import com.arjuna.ats.arjuna.coordinator.*;\n"
+"import java.io.File;\n"
+"        \n"
+"public class SimpleRecord extends AbstractRecord {\n"
+"        public String filename = \"c:/tmp/RecordState\";\n"
+"        public SimpleRecord() {\n"
+"                System.out.println(\"Creating new resource\");\n"
+"        }\n"
+"        \n"
+"        public static AbstractRecord create()\n"
+"        {\n"
+"                return new SimpleRecord() ;\n"
+"        }\n"
+"        \n"
+"        public int topLevelAbort()\n"
+"        {\n"
+"                try {\n"
+"                        File fd = new File(filename);\n"
+"                        if (fd.exists()){\n"
+"                                if (fd.delete())\n"
+"                                        System.out.println(\"File Deleted"
+"\");\n"
+"                        }\n"
+"        }\n"
+"        catch(Exception ex){…}\n"
+"                return TwoPhaseOutcome.FINISH_OK;\n"
+"        }\n"
+"        \n"
+"        public int topLevelCommit()\n"
+"        {\n"
+"                if (TestRecoveryModule._crash)\n"
+"                        System.exit(0);\n"
+"                try  {\n"
+"                        java.io.FileOutputStream file = new    \n"
+"                                java.io.FileOutputStream(filename);\n"
+"                        java.io.PrintStream pfile = new java.io.PrintStream"
+"(file);\n"
+"                        pfile.println(\"I'm Committed\");\n"
+"                        file.close();\n"
+"                }\n"
+"                catch (java.io.IOException ex) {...}\n"
+"                return TwoPhaseOutcome.FINISH_OK ;\n"
+"        }\n"
+"        \n"
+"        public int topLevelPrepare()\n"
+"        {\n"
+"                try {\n"
+"                        java.io.FileOutputStream file = new\n"
+"                                java.io.FileOutputStream(filename);\n"
+"                        java.io.PrintStream pfile = new java.io.PrintStream"
+"(file);\n"
+"                        pfile.println(\"I'm prepared\");\n"
+"                        file.close();\n"
+"                }\n"
+"                catch (java.io.IOException ex)  {...}\n"
+"                return  TwoPhaseOutcome.PREPARE_OK ;\n"
+"        }\n"
+"        …\n"
+"}"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:398
@@ -1104,7 +1294,7 @@
 "content of the file used to store the status of the participant, to "
 "determine that status and print a message indicating if a recovery action is "
 "needed or not."
-msgstr ""
+msgstr "Die Rolle des Recovery-Moduls in einer solchen Anwendung besteht im Lesen des Inhalts der Datei, die verwendet wird zum Speichern des Zustands des Teilnehmers, im Feststellen des Zustands und Schreiben einer Nachricht, welche anzeigt, ob Maßnahmen zur Wiederherstellung nötig sind oder nicht."
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:401
@@ -1173,6 +1363,68 @@
 "        }\n"
 "}"
 msgstr ""
+"package com.arjuna.demo.recoverymodule;\n"
+"        \n"
+"import com.arjuna.ats.arjuna.recovery.RecoveryModule;\n"
+"        \n"
+"public class SimpleRecoveryModule implements RecoveryModule\n"
+"{\n"
+"        public String filename = \"c:/tmp/RecordState\";\n"
+"        public SimpleRecoveryModule ()\n"
+"        {\n"
+"                System.out.println(\"The SimpleRecoveryModule is loaded\");\n"
+"        };\n"
+"        \n"
+"        public void periodicWorkFirstPass ()\n"
+"        {\n"
+"                try\n"
+"                {\n"
+"                        java.io.FileInputStream file = new \n"
+"                                java.io.FileInputStream(filename);\n"
+"                        java.io.InputStreamReader input = new \n"
+"                                java.io.InputStreamReader(file);\n"
+"                        java.io.BufferedReader reader = new java.io."
+"BufferedReader(input);\n"
+"                        String stringState = reader.readLine();\n"
+"                        if (stringState.compareTo(\"I'm prepared\") == 0)\n"
+"                                System.out.println(\"The transaction is in "
+"the prepared state\");\n"
+"                        file.close();\n"
+"                }\n"
+"                catch (java.io.IOException ex)\n"
+"                { System.out.println(\"Nothing found on the Disk\"); }\n"
+"        }\n"
+"        \n"
+"        public void periodicWorkSecondPass ()\n"
+"        {\n"
+"                try\n"
+"                {\n"
+"                        java.io.FileInputStream file = new \n"
+"                                java.io.FileInputStream(filename);\n"
+"                        java.io.InputStreamReader input = new \n"
+"                                java.io.InputStreamReader(file);\n"
+"                        java.io.BufferedReader reader = new java.io."
+"BufferedReader(input);\n"
+"                        String stringState = reader.readLine();\n"
+"                        if (stringState.compareTo(\"I'm prepared\") == 0)\n"
+"                        {\n"
+"                                System.out.println(\"The record is still in "
+"the prepared state – Recovery is needed\");\n"
+"                        }\n"
+"                        else if (stringState.compareTo(\"I'm Committed\") == "
+"0)\n"
+"                        {\n"
+"                                System.out.println(\"The transaction has "
+"completed and committed\");     \n"
+"                        }\n"
+"                        file.close();\n"
+"                }\n"
+"                catch (java.io.IOException ex)\n"
+"                { System.out.println(\"Nothing found on the Disk - Either "
+"there was \n"
+"                        no transaction or it as been rolled back\"); }\n"
+"        }\n"
+"}"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:402
@@ -1182,7 +1434,7 @@
 "Recovery Manager. To do so, we just need to add an entry in the "
 "<filename>RecoveryManager-properties.xml</filename> by adding a new property "
 "as follow:"
-msgstr ""
+msgstr "Das Recovery-Modul sollte nun deployt werden, um vom Recovery-Manager aufgerufen zu werden. Dafür muss nur ein Eintrag in der <filename>RecoveryManager-properties.xml</filename> hinzugefügt werden, indem eine neue Eigenschaft wie folgt hinzugefügt wird:"
 
 #. Tag: screen
 #: Architecture_of_the_Recovery_Manager.xml:405
@@ -1193,6 +1445,10 @@
 "i&gt;\"\n"
 "        value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/&gt;"
 msgstr ""
+"&lt;property\n"
+"                 name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension&lt;"
+"i&gt;\"\n"
+"        value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/&gt;"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:406
@@ -1201,7 +1457,7 @@
 "Where &lt;i&gt; represent the new occurrence number that follows the last "
 "that already exists in the file. Once started, the Recovery Manager will "
 "automatically load the added Recovery module."
-msgstr ""
+msgstr "Wobei &lt;i&gt; die neue Vorgangsnummer ist, die auf die letzte bereits in der Datei existierende folgt. Sobald der Recovery-Manager gestartet ist, wird er automatisch das hinzugefügte Recovery-Modul laden."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:410
@@ -1209,13 +1465,13 @@
 msgid ""
 "The source of the code can be retrieved under the trailmap directory of the "
 "JBossTS installation."
-msgstr ""
+msgstr "Die Quelle des Codes kann abgefragt werden unter dem Trailmap-Verzeichnis der JBossTS-Installation."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:415
 #, no-c-format
 msgid "Another scenario"
-msgstr ""
+msgstr "Ein weiteres Szenario"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:416
@@ -1226,7 +1482,7 @@
 "describe how the build a recovery module. In case of the OTS protocol, let’s "
 "consider how a recovery module that manages recovery of OTS resources can be "
 "configured."
-msgstr ""
+msgstr "Wie bereits erwähnt, stellt die oben gezeigte, einfache Anwendung nicht den vollständigen Prozess der Fehler-Recovery dar, sondern wurde nur gezeigt, um das Bauen eines Recovery-Moduls zu beschreiben. Im Fall des OTS-Protokolls, lassen Sie uns betrachten, wie ein Recovery-Modul konfiguriert werden kann, das die Wiederherstellung von OTS-Ressourcen steuert."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:420
@@ -1239,7 +1495,7 @@
 "appropriate decision either by roll backing or committing. Asking the "
 "RecoveryCoordinator object to determine the status consists to invoke the "
 "replay_completion operation on the RecoveryCoordinator."
-msgstr ""
+msgstr "Um die Recovery im Fehlerfall zu steuern, haben die OTS-Spezifikationen ein Recovery-Protokoll definiert. Transaktionsteilnehmer in einem zweifelhaften Zustand können den Recovery-Koordinator nutzen, um den Zustand der Transaktion festzustellen. Entsprechend dieses Transaktionszustands können solche Teilnehmer die passende Entscheidung treffen, festzuschreiben oder zurückzusetzen. Die Anfrage an das Recovery-Koordinatorobjekt nach Feststellung des Zustands besteht in dem Aufruf der replay_completion-Operation auf dem Recovery-Koordinator."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:423
@@ -1251,7 +1507,7 @@
 "during the Resource registration process. Retrieving such "
 "RecoveryCoordinator per resource means that it has been stored in addition "
 "to other information describing the resource."
-msgstr ""
+msgstr "Für jede OTS-Ressource in zweifelhaftem Zustand ist bekannt, welcher Recovery-Koordinator aufzurufen ist, um den Zustand der Transaktion festzustellen, an der die Ressource beteiligt ist – es ist der Recovery-Koordinator, der zurückgekehrt ist während des Prozesses der Ressourcenregistrierung. Solch einen Recovery-Koordinator pro Ressource abzufragen bedeutet, dass er zusätzlich zu anderen Informationen gespeichert wurde, die die Ressource beschreiben."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:426
@@ -1267,13 +1523,13 @@
 "operation that the status of the transaction. According to the returned "
 "status, an appropriate action would be taken (for instance, rollback the "
 "resource is the status is aborted or inactive)."
-msgstr ""
+msgstr "Ein Recovery-Modul zur Wiederherstellung von OTS-Ressourcen könnte die folgenden Verhaltensweisen besitzen. Wenn beim ersten Durchlauf vom Recovery-Manager dazu aufgefordert, ruft es von der Platte die Liste der Ressourcen ab, die sich in zweifelhaftem Zustand befinden. Wenn sich die im ersten Durchlauf abgerufenen Ressourcen während des zweiten Durchlaufs immer noch auf der Platte befinden, dann werden sie als Kandidaten für Recovery betrachtet. Aus diesem Grund fragt das Recovery-Modul für jeden Kandidaten dessen assoziierten Recovery-Koordinator ab und ruft die replay_completion-Operation auf entsprechend des Zustands der Transaktion. Abhängig vom zurückgegebenen Zustand wird eine angemessene Maßnahme durchgeführt (z. B. die Ressource zurücksetzen, wenn der Zustand abgebrochen oder inaktiv lautet)."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:431
 #, no-c-format
 msgid "TransactionStatusConnectionManager"
-msgstr ""
+msgstr "TransactionStatusConnectionManager"
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:432
@@ -1284,7 +1540,7 @@
 "TransactionStatusManager objects. It maintains a table of "
 "TransactionStatusConnector obects each of which connects to a "
 "TransactionStatusManager object in an Application Process."
-msgstr ""
+msgstr "Das TransactionStatusConnectionManager-Objekt wird von den Recovery-Modulen verwendet, um den Zustand von Transaktionen abzufragen, und verhält sich wie ein Proxy für TransactionStatusManager-Objekte. Es bewahrt eine Tabelle mit TransactionStatusConnector-Objekten, von der jedes mit einem TransactionStatusManager-Objekt in einem Anwendungsprozess verbunden ist."
 
 #. Tag: para
 #: Architecture_of_the_Recovery_Manager.xml:435
@@ -1299,7 +1555,7 @@
 "object. The TransactionStatusConnector passes the transaction Uid/"
 "transaction type to the TransactionStatusManager in order to retrieve the "
 "transactions status."
-msgstr ""
+msgstr "Der Transaktionszustand wird abgerufen mittels der getTransactionStatus-Methode, welche eine Transaktions-Uid und falls verfügbar einen Transaktionstyp als Parameter nimmt. Das Prozess-Uid-Feld in den Transaktions-Uid-Parametern wird verwendet, um das Ziel-TransactionStatusManagerItem-Host/Port-Paar im Objektspeicher zu suchen. Das Host/Port-Paar wird benutzt, um eine TCP-Verbindung zum Ziel-TransactionStatusManager-Objekt herzustellen durch ein TransactionStatusConnector-Objekt. Der TransactionStatusConnector übergibt die Transaktions-Uid/den Transaktionstyp an den TransactionStatusManager, um den Zustand der Transaktion abzufragen."
 
 #. Tag: title
 #: Architecture_of_the_Recovery_Manager.xml:440




More information about the jboss-svn-commits mailing list