[jboss-cvs] JBossAS SVN: r78770 - in projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide: de-DE and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Sep 23 02:31:09 EDT 2008
Author: xhuang at jboss.com
Date: 2008-09-23 02:31:08 -0400 (Tue, 23 Sep 2008)
New Revision: 78770
Added:
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Appendix.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Author_Group.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/JBoss_Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Preface.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Appendix.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Author_Group.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/JBoss_Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Preface.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Appendix.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Author_Group.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/JBoss_Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Preface.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Appendix.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Author_Group.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/JBoss_Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Preface.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Appendix.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Author_Group.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/JBoss_Transactions_Failure_Recovery_Guide.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Preface.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Transactions_Failure_Recovery_Guide.po
Modified:
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/Makefile
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Architecture_of_the_Recovery_Manager.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Book_Info.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Revision_History.po
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Architecture_of_the_Recovery_Manager.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Author_Group.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Book_Info.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/How_JBossTS_managers_the_OTS_Recovery_Protocol.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Preface.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Revision_History.pot
projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/messages.mo
Log:
merge
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/Makefile
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/Makefile 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/Makefile 2008-09-23 06:31:08 UTC (rev 78770)
@@ -5,7 +5,7 @@
BRAND = JBoss
#OTHER_LANGS = as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
-OTHER_LANGS = ja-JP
+OTHER_LANGS = de-DE fr-FR es-ES ja-JP pt-BR zh-CN
COMMON_CONFIG = /usr/share/publican
include $(COMMON_CONFIG)/make/Makefile.common
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Appendix.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Appendix.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Appendix.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"PO-Revision-Date: 2008-08-05 01:23+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Appendix.xml:9
+#, no-c-format
+msgid "Revision History"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,1481 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:6
+#, no-c-format
+msgid "Architecture of the Recovery Manager"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:8
+#, no-c-format
+msgid "Crash Recovery Overview"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:9
+#, no-c-format
+msgid ""
+"The main architectural components within Crash Recovery are illustrated in "
+"the diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:17
+#, no-c-format
+msgid ""
+"The Recovery Manager is a daemon process responsible for performing crash "
+"recovery. Only one Recovery Manager runs per node. The Object Store provides "
+"persistent data storage for transactions to log data. During normal "
+"transaction processing each transaction will log persistent data needed for "
+"the commit phase to the Object Store. On successfully committing a "
+"transaction this data is removed, however if the transaction fails then this "
+"data remains within the Object Store."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:20
+#, no-c-format
+msgid "The Recovery Manager functions by:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:25
+#, no-c-format
+msgid ""
+"Periodically scanning the Object Store for transactions that may have "
+"failed. Failed transactions are indicated by the presence of log data after "
+"a period of time that the transaction would have normally been expected to "
+"finish."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:30
+#, no-c-format
+msgid ""
+"Checking with the application process which originated the transaction "
+"whether the transaction is still in progress or not."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:35
+#, no-c-format
+msgid ""
+"Recovering the transaction by re-activating the transaction and then "
+"replaying phase two of the commit protocol."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:40
+#, no-c-format
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:46
+#, no-c-format
+msgid "Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:47
+#, no-c-format
+msgid ""
+"On initialization the Recovery Manager first loads in configuration "
+"information via a properties file. This configuration includes a number of "
+"recovery activators and recovery modules, which are then dynamically loaded."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:50
+#, no-c-format
+msgid ""
+"Since the version 3.0 of JBossTS, the Recovery Manager is not specifically "
+"tied to an Object Request Broker or ORB. Hence, the OTS recovery protocol is "
+"not implicitly enabled. To enable such protocol, we use the concept of "
+"recovery activator, defined with the interface "
+"<interfacename>RecoveryActivator</interfacename>, which is used to "
+"instantiate a recovery class related to the underlying communication "
+"protocol. For instance, when used with OTS, the "
+"<interfacename>RecoveryActivitor</interfacename> has the responsibility to "
+"create a RecoveryCoordinator object able to respond to the replay_completion "
+"operation."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:53
+#, no-c-format
+msgid ""
+"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
+"same interface. They are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:56
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery."
+"recoveryActivator_<number>\" value=\"RecoveryClass\" />"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:57
+#, no-c-format
+msgid ""
+"For instance the <interfacename>RecoveryActivator</interfacename> provided "
+"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:60
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryActivator_1\" value="
+"\"com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:61
+#, no-c-format
+msgid ""
+"When loaded all <interfacename>RecoveryActivator</interfacename> instances "
+"provide the method <methodname>startRCservice</methodname> invoked by the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:64
+#, no-c-format
+msgid ""
+"Each recovery module is used to recover a different type of transaction/"
+"resource, however each recovery module inherits the same basic behavior."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:67
+#, no-c-format
+msgid ""
+"Recovery consists of two separate passes/phases separated by two timeout "
+"periods. The first pass examines the object store for potentially failed "
+"transactions; the second pass performs crash recovery on failed "
+"transactions. The timeout between the first and second pass is known as the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:70
+#, no-c-format
+msgid ""
+"The Recovery Manager invokes the first pass upon each recovery module, "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:73
+#, no-c-format
+msgid ""
+"The recovery modules are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:76
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension<number>=<"
+"RecoveryClass>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:77
+#, no-c-format
+msgid ""
+"The backoff period and recovery period are set using the following "
+"properties:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:80
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery (default 120 "
+"secs)"
+msgstr ""
+
+#. 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:86
+#, no-c-format
+msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:91
+#, no-c-format
+msgid ""
+"RecoveryManager: The daemon process that starts up by instantiating an "
+"instance of the RecoveryManagerImple class."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:96
+#, no-c-format
+msgid "RecoveryEnvironment: Properties used by the recovery manager."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:101
+#, no-c-format
+msgid ""
+"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
+"file. (for instance, RecoveryManager-properties.xml)"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:108
+#, no-c-format
+msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:113
+#, no-c-format
+msgid ""
+"RecoveryManagerImple: Creates and starts instances of the "
+"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
+"thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:118
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:123
+#, no-c-format
+msgid ""
+"PeriodicRecovery: Thread which loads each recovery module, then calls the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:128
+#, no-c-format
+msgid ""
+"RecoveryClassLoader: Dynamically loads in the recovery modules specified in "
+"the Recovery Manager property file. Each module is specified as a recovery "
+"extension in the properties file (for instance, com.arjuna.ats.arjuna."
+"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
+"AtomicActionRecoveryModule)."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:136
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:141
+#, no-c-format
+msgid "Embedding the Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:142
+#, no-c-format
+msgid ""
+"In some situations it may be required to embed the RecoveryManager in the "
+"same process as the transaction service. In this case you can create an "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:148
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:153
+#, no-c-format
+msgid ""
+"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
+"directly via the scan operation or RecoveryDriver."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:159
+#, no-c-format
+msgid "Managing recovery directly"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:160
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:165
+#, no-c-format
+msgid "Seperate Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:166
+#, no-c-format
+msgid ""
+"You can either use the com.arjuna.ats.arjuna.tools.RecoveryMonitor program "
+"to send a message to the Recovery Manager instructing it to perform "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:172
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:177
+#, no-c-format
+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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:183
+#, no-c-format
+msgid "In process Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:184
+#, no-c-format
+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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:188
+#, no-c-format
+msgid ""
+"public interface RecoveryScan\n"
+"{\n"
+" public void completed ();\n"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:189
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:195
+#, no-c-format
+msgid "Recovery Modules"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:196
+#, no-c-format
+msgid ""
+"As stated before each recovery module is used to recover a different type of "
+"transaction/resource, but each recovery module must implement the following "
+"RecoveryModule interface, which defines two methods: "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
+"Manager."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:199
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:201
+#, no-c-format
+msgid "JBossTS Recovery Module Classes"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:202
+#, no-c-format
+msgid ""
+"JBossTS provides a set of recovery modules that are responsible to manage "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:209
+#, no-c-format
+msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:210
+#, no-c-format
+msgid "Recovers AtomicAction transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:217
+#, no-c-format
+msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:218
+#, no-c-format
+msgid "Recovers Transactional Objects for Java."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:225
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:226
+#, no-c-format
+msgid ""
+"Recovers JTS Transactions. This is a generic class from which TopLevel and "
+"Server transaction recovery modules inherit, respectively"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:233
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:241
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:252
+#, no-c-format
+msgid "AtomicAction pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:253
+#, no-c-format
+msgid "First Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:257
+#, no-c-format
+msgid ""
+"< create a transaction vector for transaction Uids. >\n"
+"< read in all transactions for a transaction type AtomicAction. >\n"
+"while < there are transactions in the vector of transactions. >\n"
+"do\n"
+" < add the transaction to the vector of transactions. >\n"
+"end while."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
+#, no-c-format
+msgid "Second Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:261
+#, no-c-format
+msgid ""
+"while < there are transactions in the transaction vector >\n"
+"do\n"
+" if < the intention list for the transaction still exists >\n"
+" then\n"
+" < create new transaction cached item >\n"
+" < obtain the status of the transaction >\n"
+" \n"
+" if < the transaction is not in progress >\n"
+" then\n"
+" < replay phase two of the commit protocol >\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:263
+#, no-c-format
+msgid "Transactional Object pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:264
+#, no-c-format
+msgid "First Pass"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:266
+#, no-c-format
+msgid ""
+"< Create a hash table for uncommitted transactional objects. >\n"
+"< Read in all transactional objects within the object store. >\n"
+"while < there are transactional objects >\n"
+"do\n"
+" if < the transactional object has an Uncommited status in "
+"the object store >\n"
+" then\n"
+" < add the transactional Object o the hash table for "
+"uncommitted transactional objects>\n"
+" end if.\n"
+"end while."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:270
+#, no-c-format
+msgid ""
+"while < there are transactions in the hash table for uncommitted "
+"transactional objects >\n"
+"do\n"
+" if < the transaction is still in the Uncommitted state >\n"
+" then\n"
+" if < the transaction is not in the Transaction Cache "
+">\n"
+" then\n"
+" < check the status of the transaction with the "
+"original application process >\n"
+" if < the status is Rolled Back or the application "
+"process is inactive >\n"
+" < rollback the transaction by removing "
+"the Uncommitted status from the Object Store >\n"
+" endif.\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:272
+#, no-c-format
+msgid "A Recovery Module for XA Resources"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:273
+#, no-c-format
+msgid ""
+"To manage recovery, we have seen in the previous chapter that the Recovery "
+"Manager triggers a recovery process by calling a set of recovery modules "
+"that implements the two methods defined by the "
+"<interfacename>RecoveryModule</interfacename> interface."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:277
+#, no-c-format
+msgid ""
+"To enable recovery of participants controlled via the <interfacename>XA</"
+"interfacename> interface, a specific recovery module named XARecoveryModule "
+"is provided. The XARecoveryModule, defined in the packages <package>com."
+"arjuna.ats.internal.jta.recovery.arjunacore</package> and <package>com."
+"arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
+"<interfacename>XA</interfacename> resources (for example, databases) used in "
+"JTA."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:281
+#, no-c-format
+msgid ""
+"JBossTS supports two JTA implementations: a purely local version (no "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:285
+#, no-c-format
+msgid ""
+"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
+"emphasis> and <emphasis>resource-initiated</emphasis> recovery. Transaction-"
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:292
+#, no-c-format
+msgid "JTA/JDBC information stored in the ObjectStore"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:294
+#, no-c-format
+msgid ""
+"A JTA Resource record contains the information needed to link the "
+"transaction, as known to the rest of JBossTS, to the database. Resource-"
+"initiated recovery is necessary for branches where a failure occurred after "
+"the database had made a persistent record of the transaction, but before the "
+"JTA ResourceRecord was persisted. Resource-initiated recovery is also "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:298
+#, no-c-format
+msgid ""
+"When running XA recovery it is necessary to tell JBossTS which types of Xid "
+"it can recover. Each Xid that JBossTS creates has a unique node identifier "
+"encoded within it and JBossTS will only recover transactions and states that "
+"match a specified node identifier. The node identifier to use should be "
+"provided to JBossTS via a property that starts with the name <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property>; multiple values may be provided. A "
+"value of ‘*’ will force JBossTS to recover (and possibly rollback) all "
+"transactions irrespective of their node identifier and should be used with "
+"caution. The contents of <property>com.arjuna.ats.jta.xaRecoveryNode</"
+"property> should be alphanumeric and match the values of <property>com."
+"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:302
+#, no-c-format
+msgid ""
+"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
+"JTA Resource Record that need recovery, then uses the normal recovery "
+"mechanisms to find the status of the transaction it was involved in (i.e., "
+"it calls replay_completion on the RecoveryCoordinator for the transaction "
+"branch), (re)creates the appropriate XAResource and issues commit or "
+"rollback on it as appropriate. The XAResource creation will use the same "
+"information, database name, username, password etc., as the original "
+"application."
+msgstr ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:309
+#, no-c-format
+msgid "Transaction-Initiated Recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:311
+#, no-c-format
+msgid ""
+"Resource-initiated recovery has to be specifically configured, by supplying "
+"the Recovery Manager with the appropriate information for it to interrogate "
+"all the databases (XADataSources) that have been accessed by any JBossTS "
+"application. The access to each XADataSource is handled by a class that "
+"implements the <interfacename>com.arjuna.ats.jta.recovery."
+"XAResourceRecovery</interfacename> interface, as illustrated in Figure 4. "
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:318
+#, no-c-format
+msgid "Resource-initiated recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:321
+#, no-c-format
+msgid ""
+"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:325
+#, no-c-format
+msgid ""
+"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
+"XAResource to the target datasource. On each invocation of "
+"periodicWorkSecondPass, the recovery module will issue an XAResource.recover "
+"request – this will (as described in the XA specification) return a list of "
+"the transaction identifiers (Xid’s) that are known to the datasource and are "
+"in an indeterminate (in-doubt) state. The list of these in-doubt Xid’s "
+"received on successive passes (i.e. periodicWorkSecondPass-es) is compared. "
+"Any Xid that appears in both lists, and for which no JTA ResourceRecord was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:328
+#, no-c-format
+msgid ""
+"This double-scan mechanism is used because it is possible the Xid was "
+"obtained from the datasource just as the original application process was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:331
+#, no-c-format
+msgid ""
+"An <classname>XAResourceRecovery</classname> implementation class can be "
+"written to contain all the information needed to perform recovery to some "
+"datasource. Alternatively, a single class can handle multiple datasources. "
+"The constructor of the implementation class must have an empty parameter "
+"list (because it is loaded dynamically), but the interface includes an "
+"initialise method which passes in further information as a string. The "
+"content of the string is taken from the property value that provides the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:334
+#, no-c-format
+msgid ""
+"For further details on the way to implement a class that implements the "
+"interface <interfacename>XAResourceRecovery</interfacename>, read the JDBC "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:338
+#, no-c-format
+msgid "Writing a Recovery Module"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:339
+#, no-c-format
+msgid ""
+"In order to recover from failure, we have seen that the Recovery Manager "
+"contacts recovery modules by invoking periodically the methods "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname>. Each Recovery Module is "
+"then able to manage recovery according to the type of resources that need to "
+"be recovered. The JBoss Transaction product is shipped with a set of "
+"recovery modules (TOReceveryModule, XARecoveryModule…), but it is possible "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:342
+#, no-c-format
+msgid "A basic scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:343
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:345
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:350
+#, no-c-format
+msgid "to decide to commit or abort the transaction,"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:355
+#, no-c-format
+msgid "to decide generating a crash during the commitment process."
+msgstr ""
+
+#. 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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:363
+#, no-c-format
+msgid ""
+"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 < 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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:364
+#, no-c-format
+msgid "The registered participant has the following behavior:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:369
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:374
+#, no-c-format
+msgid ""
+"During the commit phase, it writes another message - <emphasis>I’m "
+"committed</emphasis>- in the same file used during prepare."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:379
+#, no-c-format
+msgid ""
+"If it receives an abort message, it removes from the disk the file used for "
+"prepare if any."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:384
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:389
+#, no-c-format
+msgid ""
+"The main portion of the code illustrating such behavior is described "
+"hereafter."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:393
+#, no-c-format
+msgid "The location of the file given in variable filename can be changed"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:397
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:398
+#, no-c-format
+msgid ""
+"The role of the Recovery Module in such application consists to read the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:401
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:402
+#, no-c-format
+msgid ""
+"The recovery module should now be deployed in order to be called by the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:405
+#, no-c-format
+msgid ""
+"<property\n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension<"
+"i>\"\n"
+" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:406
+#, no-c-format
+msgid ""
+"Where <i> 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:410
+#, no-c-format
+msgid ""
+"The source of the code can be retrieved under the trailmap directory of the "
+"JBossTS installation."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:415
+#, no-c-format
+msgid "Another scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:416
+#, no-c-format
+msgid ""
+"As mentioned, the basic application presented above does not present the "
+"complete process to recover from failure, but it was just presented to "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:420
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:423
+#, no-c-format
+msgid ""
+"For each OTS Resource in a doubt status, it is well known which "
+"RecoveyCoordinator to invoke to determine the status of the transaction in "
+"which the Resource is involved – It’s the RecoveryCoordinator returned "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:426
+#, no-c-format
+msgid ""
+"A recovery module dedicated to recover OTS Resources could have the "
+"following behavior. When requested by the recovery Manager on the first pass "
+"it retrieves from the disk the list of resources that are in the doubt "
+"status. During the second pass, if the resources that were retrieved in the "
+"first pass still remain in the disk then they are considered as candidates "
+"for recovery. Therefore, the Recovery Module retrieves for each candidate "
+"its associated RecoveryCoordinator and invokes the replay_completion "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:431
+#, no-c-format
+msgid "TransactionStatusConnectionManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:432
+#, no-c-format
+msgid ""
+"The TransactionStatusConnectionManager object is used by the recovery "
+"modules to retrieve the status of transactions and acts like a proxy for "
+"TransactionStatusManager objects. It maintains a table of "
+"TransactionStatusConnector obects each of which connects to a "
+"TransactionStatusManager object in an Application Process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:435
+#, no-c-format
+msgid ""
+"The transactions status is retrieved using the getTransactionStatus methods "
+"which take a transaction Uid and if available a transaction type as "
+"parameters. The process Uid field in the transactions Uid parameter is used "
+"to lookup the target TransactionStatusManagerItem host/port pair in the "
+"Object Store. The host/port pair are used to make a TCP connection to the "
+"target TransactionStatusManager object by a TransactionStatusConnector "
+"object. The TransactionStatusConnector passes the transaction Uid/"
+"transaction type to the TransactionStatusManager in order to retrieve the "
+"transactions status."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:440
+#, no-c-format
+msgid "Expired Scanner Thread"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:441
+#, no-c-format
+msgid ""
+"When the Recovery Manager initialises an expiry scanner thread "
+"ExpiryEntryMonitor is created which is used to remove long dead items from "
+"the ObjectStore. A number of scanner modules are dynamically loaded which "
+"remove long dead items for a particular type."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:444
+#, no-c-format
+msgid ""
+"Scanner modules are loaded at initialisation and are specified as properties "
+"beginning with"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:447
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
+"Class>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:448
+#, no-c-format
+msgid ""
+"All the scanner modules are called periodically to scan for dead items by "
+"the ExpiryEntryMonitor thread. This period is set with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:451
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:452
+#, no-c-format
+msgid ""
+"All scanners inherit the same behaviour from the java interface "
+"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:460
+#, no-c-format
+msgid ""
+"A scan method is provided by this interface and implemented by all scanner "
+"modules, this is the method that gets called by the scanner thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:463
+#, no-c-format
+msgid ""
+"The ExpiredTransactionStatusManagerScanner removes long dead "
+"TransactionStatusManagerItems from the Object Store. These items will remain "
+"in the Object Store for a period of time before they are deleted. This time "
+"is set by the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:466
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:467
+#, no-c-format
+msgid "(default 12 hours)"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:472
+#, no-c-format
+msgid "Application Process"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:473
+#, no-c-format
+msgid ""
+"This represents the user transactional program. A Local transaction (hash) "
+"table, maintained within the running application process keeps trace of the "
+"current status of all transactions created by that application process, The "
+"Recovery Manager needs access to the transaction tables so that it can "
+"determine whether a transaction is still in progress, if so then recovery "
+"does not happen."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:476
+#, no-c-format
+msgid ""
+"The transaction tables are accessed via the TransactionStatusManager object. "
+"On application program initialisation the host/port pair that represents the "
+"TransactionStatusManager is written to the Object Store in '../Recovery/"
+"TransactionStatusManager’ part of the Object Store file hierarchy and "
+"identified by the process Uid of the application process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:479
+#, no-c-format
+msgid ""
+"The Recovery Manager uses the TransactionStatusConnectionManager object to "
+"retrieve the status of a transaction and a TransactionStatusConnector object "
+"is used to make a TCP connection to the TransactionStatusManager."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:484
+#, no-c-format
+msgid "TransactionStatusManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:485
+#, no-c-format
+msgid ""
+"This object acts as an interface for the Recovery Manager to obtain the "
+"status of transactions from running HPTS application processes. One "
+"TransactionStatusManager is created per application process by the class com."
+"arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used "
+"for communication between the RecoveryManager and TransactionStatusManager. "
+"Any free port is used by the TransactionStatusManager by default, however "
+"the port can be fixed with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:488
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:489
+#, no-c-format
+msgid ""
+"On creation the TransactionStatusManager obtains a port which it stores with "
+"the host in the Object Store as a TransactionStatusManagerItem. A Listener "
+"thread is started which waits for a connection request from a "
+"TransactionStatusConnector. When a connection is established a Connection "
+"thread is created which runs a Service (AtomicActionStatusService) which "
+"accepts a transaction Uid and a transaction type (if available) from a "
+"TransactionStatusConnector, the transaction status is obtained from the "
+"local thransaction table and returned back to the TransactionStatusConnector."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:494
+#, no-c-format
+msgid "Object Store"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:495
+#, no-c-format
+msgid ""
+"All objects are stored in a file path which is equivalent to their class "
+"inheritance. Thus AtomicAction transactions are stored in file path ../"
+"StateManager/BasicAction/AtomicAction."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:498
+#, no-c-format
+msgid ""
+"All objects are identified by a unique identifier Uid. One of the values of "
+"which is a process id in which the object was created. The Recovery Manager "
+"uses the process id to locate transaction status manager items when "
+"contacting the originator application process for the transaction status."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Author_Group.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Author_Group.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Author_Group.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: corpauthor
+#: Author_Group.xml:6
+#, no-c-format
+msgid "Red Hat Documentation Group"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Book_Info.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,46 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Book_Info.xml:6
+#, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: subtitle
+#: Book_Info.xml:7
+#, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
+msgstr ""
+
+#. Tag: para
+#: Book_Info.xml:13
+#, no-c-format
+msgid ""
+"This book is the Enterprise Application Platform edition of the JBoss "
+"Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: phrase
+#: Book_Info.xml:20
+#, no-c-format
+msgid "Logo"
+msgstr ""
+
+#. Tag: holder
+#: Book_Info.xml:26
+#, no-c-format
+msgid "&HOLDER;"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/How_JBossTS_managers_the_OTS_Recovery_Protocol.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,692 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:6
+#, no-c-format
+msgid "How JBossTS manages the OTS Recovery Protocol"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:10
+#, no-c-format
+msgid "Recovery Protocol in OTS-Overview"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:11
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"appropriate decision either by roll backing or committing."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
+#, no-c-format
+msgid ""
+"A reference to a RecoveryCoordinator is returned as a result of successfully "
+"calling register_resource on the transaction Coordinator. This object, which "
+"is implicitly associated with a single Resource, can be used to drive the "
+"Resource through recovery procedures in the event of a failure occurring "
+"during the transaction."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
+#, no-c-format
+msgid "Resource and RecoveryCoordinator relationship."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:26
+#, no-c-format
+msgid "RecoveryCoordinator in JBossTS"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:27
+#, no-c-format
+msgid ""
+"On each resource registration a RecoveryCoordinator Object is expected to be "
+"created and returned to the application that invoked the register_resource "
+"operation. Behind each CORBA object there should be an object implementation "
+"or Servant object, in POA terms, which performs operations made on a "
+"RecoveryCoordinator object. Rather than to create a RecoveryCoordinator "
+"object with its associated servant on each register_resource, JBossTS "
+"enhances performance by avoiding the creation of servants but it relies on a "
+"default RecoveryCoordinator object with it’s associated default servant to "
+"manage all replay_completion invocations."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
+#, no-c-format
+msgid ""
+"In the next sections we first give an overview of the Portable Object "
+"Adapter architecture, then we describe how this architecture is used to "
+"provide RecoveryCoordinator creation with optimization as explained above."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
+#, no-c-format
+msgid "Understanding POA"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:35
+#, no-c-format
+msgid ""
+"Basically, the Portable Object Adapter, or POA is an object that intercepts "
+"a client request and identifies the object that satisfies the client "
+"request. The Object is then invoked and the response is returned to the "
+"client."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
+#, no-c-format
+msgid "Overview of the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:45
+#, no-c-format
+msgid ""
+"The object that performs the client request is referred as a servant, which "
+"provides the implementation of the CORBA object requested by the client. A "
+"servant provides the implementation for one or more CORBA object references. "
+"To retreive a servant, each POA maintains an Active Object Map that maps all "
+"objects that have been activated in the POA to a servant. For each incoming "
+"request, the POA looks up the object reference in the Active Object Map and "
+"tries to find the responsible servant. If none is found, the request is "
+"either delegated to a default servant, or a servant manager is invoked to "
+"activate or locate an appropriate servant. In addition to the name space for "
+"the objects, which are identified by Object Ids, a POA also provides a name "
+"space for POAs. A POA is created as a child of an existing POA, which forms "
+"a hierarchy starting with the root POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
+#, no-c-format
+msgid ""
+"Each POA has a set of policies that define its characteristics. When "
+"creating a new POA, the default set of policies can be used or different "
+"values can be assigned that suit the application requirements. The POA "
+"specification defines:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
+#, no-c-format
+msgid ""
+"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
+"by the POA. Possible values are:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
+#, no-c-format
+msgid ""
+"ORB_CTRL_MODEL (default): The POA is responsible for assigning requests to "
+"threads."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:63
+#, no-c-format
+msgid "SINGLE_THREAD_MODEL: The POA processes requests sequentially"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:70
+#, no-c-format
+msgid ""
+"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
+"implemented in the POA. The lifespan policy can have the following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
+#, no-c-format
+msgid ""
+"TRANSIENT (Default) Objects implemented in the POA cannot outlive the "
+"process in which they are first created. Once the POA is deactivated, an "
+"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
+"references generated by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:80
+#, no-c-format
+msgid ""
+"PERSISTENT Objects implemented in the POA can outlive the process in which "
+"they are first created."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
+#, no-c-format
+msgid ""
+"Object ID Uniqueness policy: Allows a single servant to be shared by many "
+"abstract objects. The Object ID Uniqueness policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
+#, no-c-format
+msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
+#, no-c-format
+msgid ""
+"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
+"ID must be determined within the method being invoked at run time."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
+#, no-c-format
+msgid ""
+"ID Assignment policy: Specifies whether object IDs are generated by server "
+"applications or by the POA. The ID Assignment policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
+#, no-c-format
+msgid "USER_ID is for persistent objects, and"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:114
+#, no-c-format
+msgid "SYSTEM_ID is for transient objects."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:121
+#, no-c-format
+msgid ""
+"Servant Retention policy: Specifies whether the POA retains active servants "
+"in the Active Object Map. The Servant Retention policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
+#, no-c-format
+msgid ""
+"RETAIN (Default) The POA tracks object activations in the Active Object Map. "
+"RETAIN is usually used with ServantActivators or explicit activation methods "
+"on POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
+#, no-c-format
+msgid ""
+"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
+"NON_RETAIN is typically used with ServantLocators."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
+#, no-c-format
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:143
+#, no-c-format
+msgid ""
+"USE_ACTIVE_OBJECT_MAP (Default): If the Object ID is not listed in the "
+"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
+"also use the RETAIN policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
+#, no-c-format
+msgid ""
+"USE_DEFAULT_SERVANT: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the request is dispatched to the default "
+"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
+"is returned. The POA must also use the MULTIPLE_ID policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
+#, no-c-format
+msgid ""
+"USE_SERVANT_MANAGER: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
+"servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
+#, no-c-format
+msgid ""
+"Implicit Activation policy: Specifies whether the POA supports implicit "
+"activation of servants. The Implicit Activation policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
+#, no-c-format
+msgid ""
+"IMPLICIT_ACTIVATION: The POA supports implicit activation of servants. "
+"Servants can be activated by converting them to an object reference with "
+"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> "
+"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
+"also use the SYSTEM_ID and RETAIN policies with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
+#, no-c-format
+msgid ""
+"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
+"activation of servants."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
+#, no-c-format
+msgid ""
+"It appears that to redirect replay_completion invocations to a default "
+"servant we need to create a POA with the Request Processing policy assigned "
+"with the value set to USE_DEFAULT_SERVANT. However to reach that default "
+"Servant we should first reach the POA that forward the request to the "
+"default servant. Indeed, the ORB uses a set of information to retrieve a "
+"POA; these information are contained in the object reference used by the "
+"client. Among these information there are the IP address and the port number "
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
+#, no-c-format
+msgid "The default RecoveryCoordinator in Orbix"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:183
+#, no-c-format
+msgid ""
+"Within Orbix, objects are located by the Location Deamon. To avoid the "
+"overhead of using the location daemon, Orbix provides a mechanism named "
+"<emphasis>Direct Persistence</emphasis> allowing generating persistent "
+"object references. This mechanism is in fact a proprietary policy named, "
+"DIRECT_PERSISTENCE. A POA with policies of PERSISTENT and DIRECT_PERSISTENCE "
+"generates IORs that contain a well-known address for the server process. A "
+"POA that uses direct persistence must also tell each transport mechanism "
+"such as IIOP where in the configuration file it can find the well-known "
+"address that it should use. This is done by creating a "
+"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
+"configuration scope that contains the well-known address."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
+#, no-c-format
+msgid ""
+"To specify the address used by the <code>WellKnownAddressingPolicy</code> "
+"object, JBossTS uses the Orbix mechanism that allows specifying an ORB/POA "
+"names. The following configuration modifications are necessary to define the "
+"well-know address of the RecoveryCoordinator performing replay_completion "
+"invocation."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
+#, no-c-format
+msgid ""
+"Note that this configuration is also necessary to support transaction "
+"context propagation and interposition."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
+#, no-c-format
+msgid ""
+"A new orb name domain called arjuna should be created within the main Orbix "
+"2000 domain being used by the application. It requires the following format:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
+#, no-c-format
+msgid ""
+"arjuna\n"
+"{\n"
+" portable_interceptor\n"
+" {\n"
+" orb_plugins = [\"local_log_stream\", \"iiop_profile\", \"giop"
+"\", \"iiop\", \"portable_interceptor\"];\n"
+" \n"
+" ots_recovery_coordinator\n"
+" {\n"
+" recovery_coordinator:iiop:addr_list = [“<name>:"
+"<port>”];\n"
+" };\n"
+" \n"
+" ots_transaction\n"
+" {\n"
+" transaction:iiop:addr_list = [“+<name>:<"
+"port>”];\n"
+" }; \n"
+" ots_context\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Context\", "
+"\"OTS_Context+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Context+GIOP+IIOP\", \"GIOP"
+"+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Context\", "
+"\"\"];\n"
+" };\n"
+" \n"
+" ots_interposition\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Interposition"
+"\", \"OTS_Interposition+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Interposition+GIOP"
+"+IIOP\", \"GIOP+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Interposition"
+"\", \"\"];\n"
+" };\n"
+" };\n"
+"};"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:198
+#, no-c-format
+msgid ""
+"The <name> field should be substituted by the name of the machine on "
+"which JBossTS is being run. The <port> field should be an unused port "
+"on which the JBossTS recovery manager may listen for recovery requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
+#, no-c-format
+msgid ""
+"Because of the way in which Orbix works with persistent POAs, if you want "
+"crash recovery support for your applications you must use one of the Arjuna "
+"ORB names provided (context or interposition) when running your clients and "
+"services. When using transaction context propagation only, the<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> parameter should "
+"be passed to the client and server. When using context propagation and "
+"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
+"ots_interposition</parameter> parameter should be used. For example:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
+#, no-c-format
+msgid "java mytest –ORBname arjuna.portable_interceptor.ots_context"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:206
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:287
+#, no-c-format
+msgid "How it works"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:207
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application. The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs all replay_invocations requests."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
+#, no-c-format
+msgid ""
+"The Recovery Manager and the creation of the default servant for "
+"RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
+#, no-c-format
+msgid ""
+"There is one recovery Manager Process per machine, then one default servant "
+"per machine. Performing all replay_completion invocations means those made "
+"on the same machine."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
+#, no-c-format
+msgid ""
+"When started, the application, using JBossTS in library mode, is launched a "
+"child POA is created with the same policies as those defined within the "
+"Recovery Manager. This child POA is used to create object references, for "
+"RecoveryCoordinator CORBA objects, that need to be returned on "
+"register_resource invocations, as illustrated in figure below. The Object "
+"reference created has an Object ID that contains the transaction ID in "
+"progress and the Process Identifier of the application."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
+#, no-c-format
+msgid ""
+"If the Transaction Service is used in the stand-alone mode, the behavior to "
+"create object reference to RecoveryCoordinator objects is exactly the same; "
+"the process ID used in the Object ID is the Transaction Service process ID"
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
+#, no-c-format
+msgid ""
+"Having the object reference of the RecoveryCoordinator, an application can "
+"use it to determine the status of the transaction for which that object "
+"reference is created. When a RecoveryCoordinator, according to POA policies "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
+"described in the figure below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
+#, no-c-format
+msgid "The flow described in the figure can be depicted as follow:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:250
+#, no-c-format
+msgid ""
+"The participant invokes the replay_completion operation on "
+"RecoveryCoordinator object using the object reference returned by the "
+"Transaction Server."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
+#, no-c-format
+msgid ""
+"The request is forwarded to the Recovery Manager process since the Well-"
+"known-address policy is used to retrieve."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
+#, no-c-format
+msgid "The child POA responsible to locate the servant is retrieved."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:265
+#, no-c-format
+msgid ""
+"After looking to the Active Object Map, the child POA invokes the default "
+"servant to perform the request. Note that the Object ID conveyed by the "
+"object reference is not retrieved in the AOP."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
+#, no-c-format
+msgid ""
+"The servant extracts from the request the Object ID that contains the "
+"Transaction ID and the process ID of the Transaction Server process. To "
+"determine if the process still alive, the TransactionStatusConnectionManager "
+"functionalities are used."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
+#, no-c-format
+msgid ""
+"According to the presence or not of the Transaction Server process and "
+"eventually the returned status, the servant returns the status of the "
+"transaction asked by the participant."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
+#, no-c-format
+msgid "The default RecoveryCoordinator in JacOrb"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:283
+#, no-c-format
+msgid ""
+"JacORB does not define additional policies to redirect any request on a "
+"RecoveryCoordinator object to a default servant located in the Recovery "
+"Manager process. However it provides a set of APIs that allows building "
+"object references with specific IP address, port number and POA name in "
+"order to reach the appropriate default servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager ) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application (JacORB). The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs replay_completion invocations requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
+#, no-c-format
+msgid ""
+"In addition to the creation of the default servant, an object reference to a "
+"<code>RecoveryCoordinator</code> object is created and stored in the "
+"ObjectStore. As we will see this object reference will be used to obtain its "
+"IP address, port number and POA name and assign them to any "
+"<code>RecoveryCoordinator</code> object reference created on "
+"register_resource."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
+#, no-c-format
+msgid ""
+"When an application registers a resource with a transaction, a "
+"<code>RecoveryCoordinator</code> object reference is expected to be "
+"returned. To build that object reference, the Transaction Service uses the "
+"RecoveryCoordinator object reference created within the Recovery Manager as "
+"a template. The new object reference contains practically the same "
+"information to retrieve the default servant (IP address, port number, POA "
+"name, etc.), but the Object ID is changed; now, it contains the Transaction "
+"ID of the transaction in progress and also the Process ID of the process "
+"that is creating the new <code>RecoveryCoordinator</code> object reference, "
+"as illustrated below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference "
+"build from a reference stored in the ObjectStore."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
+#, no-c-format
+msgid ""
+"Since a <code>RecoveryCoordintaor</code> object reference returned to an "
+"application contains all information to retrieve the POA then the default "
+"servant located in the Recovery Manager, all replay_completion invocation, "
+"per machine, are forwarded to the same default <code>RecoveryCoordinator</"
+"code> that is able to retreive the Object ID from the incoming request to "
+"extract the transaction identifier and the process identifier needed to "
+"determine the status of the requested transaction."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/JBoss_Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Preface.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Preface.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Preface.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Preface.xml:6
+#, no-c-format
+msgid "Preface"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Revision_History.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,26 @@
+# Language de-DE translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
+#. Tag: author
+#: Revision_History.xml:12
+#, no-c-format
+msgid "<firstname></firstname> <surname></surname> <email></email>"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/de-DE/Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Appendix.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Appendix.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Appendix.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"PO-Revision-Date: 2008-08-05 01:23+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Appendix.xml:9
+#, no-c-format
+msgid "Revision History"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Architecture_of_the_Recovery_Manager.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,1481 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:6
+#, no-c-format
+msgid "Architecture of the Recovery Manager"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:8
+#, no-c-format
+msgid "Crash Recovery Overview"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:9
+#, no-c-format
+msgid ""
+"The main architectural components within Crash Recovery are illustrated in "
+"the diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:17
+#, no-c-format
+msgid ""
+"The Recovery Manager is a daemon process responsible for performing crash "
+"recovery. Only one Recovery Manager runs per node. The Object Store provides "
+"persistent data storage for transactions to log data. During normal "
+"transaction processing each transaction will log persistent data needed for "
+"the commit phase to the Object Store. On successfully committing a "
+"transaction this data is removed, however if the transaction fails then this "
+"data remains within the Object Store."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:20
+#, no-c-format
+msgid "The Recovery Manager functions by:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:25
+#, no-c-format
+msgid ""
+"Periodically scanning the Object Store for transactions that may have "
+"failed. Failed transactions are indicated by the presence of log data after "
+"a period of time that the transaction would have normally been expected to "
+"finish."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:30
+#, no-c-format
+msgid ""
+"Checking with the application process which originated the transaction "
+"whether the transaction is still in progress or not."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:35
+#, no-c-format
+msgid ""
+"Recovering the transaction by re-activating the transaction and then "
+"replaying phase two of the commit protocol."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:40
+#, no-c-format
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:46
+#, no-c-format
+msgid "Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:47
+#, no-c-format
+msgid ""
+"On initialization the Recovery Manager first loads in configuration "
+"information via a properties file. This configuration includes a number of "
+"recovery activators and recovery modules, which are then dynamically loaded."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:50
+#, no-c-format
+msgid ""
+"Since the version 3.0 of JBossTS, the Recovery Manager is not specifically "
+"tied to an Object Request Broker or ORB. Hence, the OTS recovery protocol is "
+"not implicitly enabled. To enable such protocol, we use the concept of "
+"recovery activator, defined with the interface "
+"<interfacename>RecoveryActivator</interfacename>, which is used to "
+"instantiate a recovery class related to the underlying communication "
+"protocol. For instance, when used with OTS, the "
+"<interfacename>RecoveryActivitor</interfacename> has the responsibility to "
+"create a RecoveryCoordinator object able to respond to the replay_completion "
+"operation."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:53
+#, no-c-format
+msgid ""
+"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
+"same interface. They are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:56
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery."
+"recoveryActivator_<number>\" value=\"RecoveryClass\" />"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:57
+#, no-c-format
+msgid ""
+"For instance the <interfacename>RecoveryActivator</interfacename> provided "
+"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:60
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryActivator_1\" value="
+"\"com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:61
+#, no-c-format
+msgid ""
+"When loaded all <interfacename>RecoveryActivator</interfacename> instances "
+"provide the method <methodname>startRCservice</methodname> invoked by the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:64
+#, no-c-format
+msgid ""
+"Each recovery module is used to recover a different type of transaction/"
+"resource, however each recovery module inherits the same basic behavior."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:67
+#, no-c-format
+msgid ""
+"Recovery consists of two separate passes/phases separated by two timeout "
+"periods. The first pass examines the object store for potentially failed "
+"transactions; the second pass performs crash recovery on failed "
+"transactions. The timeout between the first and second pass is known as the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:70
+#, no-c-format
+msgid ""
+"The Recovery Manager invokes the first pass upon each recovery module, "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:73
+#, no-c-format
+msgid ""
+"The recovery modules are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:76
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension<number>=<"
+"RecoveryClass>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:77
+#, no-c-format
+msgid ""
+"The backoff period and recovery period are set using the following "
+"properties:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:80
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery (default 120 "
+"secs)"
+msgstr ""
+
+#. 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:86
+#, no-c-format
+msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:91
+#, no-c-format
+msgid ""
+"RecoveryManager: The daemon process that starts up by instantiating an "
+"instance of the RecoveryManagerImple class."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:96
+#, no-c-format
+msgid "RecoveryEnvironment: Properties used by the recovery manager."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:101
+#, no-c-format
+msgid ""
+"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
+"file. (for instance, RecoveryManager-properties.xml)"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:108
+#, no-c-format
+msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:113
+#, no-c-format
+msgid ""
+"RecoveryManagerImple: Creates and starts instances of the "
+"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
+"thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:118
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:123
+#, no-c-format
+msgid ""
+"PeriodicRecovery: Thread which loads each recovery module, then calls the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:128
+#, no-c-format
+msgid ""
+"RecoveryClassLoader: Dynamically loads in the recovery modules specified in "
+"the Recovery Manager property file. Each module is specified as a recovery "
+"extension in the properties file (for instance, com.arjuna.ats.arjuna."
+"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
+"AtomicActionRecoveryModule)."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:136
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:141
+#, no-c-format
+msgid "Embedding the Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:142
+#, no-c-format
+msgid ""
+"In some situations it may be required to embed the RecoveryManager in the "
+"same process as the transaction service. In this case you can create an "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:148
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:153
+#, no-c-format
+msgid ""
+"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
+"directly via the scan operation or RecoveryDriver."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:159
+#, no-c-format
+msgid "Managing recovery directly"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:160
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:165
+#, no-c-format
+msgid "Seperate Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:166
+#, no-c-format
+msgid ""
+"You can either use the com.arjuna.ats.arjuna.tools.RecoveryMonitor program "
+"to send a message to the Recovery Manager instructing it to perform "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:172
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:177
+#, no-c-format
+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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:183
+#, no-c-format
+msgid "In process Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:184
+#, no-c-format
+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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:188
+#, no-c-format
+msgid ""
+"public interface RecoveryScan\n"
+"{\n"
+" public void completed ();\n"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:189
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:195
+#, no-c-format
+msgid "Recovery Modules"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:196
+#, no-c-format
+msgid ""
+"As stated before each recovery module is used to recover a different type of "
+"transaction/resource, but each recovery module must implement the following "
+"RecoveryModule interface, which defines two methods: "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
+"Manager."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:199
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:201
+#, no-c-format
+msgid "JBossTS Recovery Module Classes"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:202
+#, no-c-format
+msgid ""
+"JBossTS provides a set of recovery modules that are responsible to manage "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:209
+#, no-c-format
+msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:210
+#, no-c-format
+msgid "Recovers AtomicAction transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:217
+#, no-c-format
+msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:218
+#, no-c-format
+msgid "Recovers Transactional Objects for Java."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:225
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:226
+#, no-c-format
+msgid ""
+"Recovers JTS Transactions. This is a generic class from which TopLevel and "
+"Server transaction recovery modules inherit, respectively"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:233
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:241
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:252
+#, no-c-format
+msgid "AtomicAction pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:253
+#, no-c-format
+msgid "First Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:257
+#, no-c-format
+msgid ""
+"< create a transaction vector for transaction Uids. >\n"
+"< read in all transactions for a transaction type AtomicAction. >\n"
+"while < there are transactions in the vector of transactions. >\n"
+"do\n"
+" < add the transaction to the vector of transactions. >\n"
+"end while."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
+#, no-c-format
+msgid "Second Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:261
+#, no-c-format
+msgid ""
+"while < there are transactions in the transaction vector >\n"
+"do\n"
+" if < the intention list for the transaction still exists >\n"
+" then\n"
+" < create new transaction cached item >\n"
+" < obtain the status of the transaction >\n"
+" \n"
+" if < the transaction is not in progress >\n"
+" then\n"
+" < replay phase two of the commit protocol >\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:263
+#, no-c-format
+msgid "Transactional Object pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:264
+#, no-c-format
+msgid "First Pass"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:266
+#, no-c-format
+msgid ""
+"< Create a hash table for uncommitted transactional objects. >\n"
+"< Read in all transactional objects within the object store. >\n"
+"while < there are transactional objects >\n"
+"do\n"
+" if < the transactional object has an Uncommited status in "
+"the object store >\n"
+" then\n"
+" < add the transactional Object o the hash table for "
+"uncommitted transactional objects>\n"
+" end if.\n"
+"end while."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:270
+#, no-c-format
+msgid ""
+"while < there are transactions in the hash table for uncommitted "
+"transactional objects >\n"
+"do\n"
+" if < the transaction is still in the Uncommitted state >\n"
+" then\n"
+" if < the transaction is not in the Transaction Cache "
+">\n"
+" then\n"
+" < check the status of the transaction with the "
+"original application process >\n"
+" if < the status is Rolled Back or the application "
+"process is inactive >\n"
+" < rollback the transaction by removing "
+"the Uncommitted status from the Object Store >\n"
+" endif.\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:272
+#, no-c-format
+msgid "A Recovery Module for XA Resources"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:273
+#, no-c-format
+msgid ""
+"To manage recovery, we have seen in the previous chapter that the Recovery "
+"Manager triggers a recovery process by calling a set of recovery modules "
+"that implements the two methods defined by the "
+"<interfacename>RecoveryModule</interfacename> interface."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:277
+#, no-c-format
+msgid ""
+"To enable recovery of participants controlled via the <interfacename>XA</"
+"interfacename> interface, a specific recovery module named XARecoveryModule "
+"is provided. The XARecoveryModule, defined in the packages <package>com."
+"arjuna.ats.internal.jta.recovery.arjunacore</package> and <package>com."
+"arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
+"<interfacename>XA</interfacename> resources (for example, databases) used in "
+"JTA."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:281
+#, no-c-format
+msgid ""
+"JBossTS supports two JTA implementations: a purely local version (no "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:285
+#, no-c-format
+msgid ""
+"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
+"emphasis> and <emphasis>resource-initiated</emphasis> recovery. Transaction-"
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:292
+#, no-c-format
+msgid "JTA/JDBC information stored in the ObjectStore"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:294
+#, no-c-format
+msgid ""
+"A JTA Resource record contains the information needed to link the "
+"transaction, as known to the rest of JBossTS, to the database. Resource-"
+"initiated recovery is necessary for branches where a failure occurred after "
+"the database had made a persistent record of the transaction, but before the "
+"JTA ResourceRecord was persisted. Resource-initiated recovery is also "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:298
+#, no-c-format
+msgid ""
+"When running XA recovery it is necessary to tell JBossTS which types of Xid "
+"it can recover. Each Xid that JBossTS creates has a unique node identifier "
+"encoded within it and JBossTS will only recover transactions and states that "
+"match a specified node identifier. The node identifier to use should be "
+"provided to JBossTS via a property that starts with the name <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property>; multiple values may be provided. A "
+"value of ‘*’ will force JBossTS to recover (and possibly rollback) all "
+"transactions irrespective of their node identifier and should be used with "
+"caution. The contents of <property>com.arjuna.ats.jta.xaRecoveryNode</"
+"property> should be alphanumeric and match the values of <property>com."
+"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:302
+#, no-c-format
+msgid ""
+"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
+"JTA Resource Record that need recovery, then uses the normal recovery "
+"mechanisms to find the status of the transaction it was involved in (i.e., "
+"it calls replay_completion on the RecoveryCoordinator for the transaction "
+"branch), (re)creates the appropriate XAResource and issues commit or "
+"rollback on it as appropriate. The XAResource creation will use the same "
+"information, database name, username, password etc., as the original "
+"application."
+msgstr ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:309
+#, no-c-format
+msgid "Transaction-Initiated Recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:311
+#, no-c-format
+msgid ""
+"Resource-initiated recovery has to be specifically configured, by supplying "
+"the Recovery Manager with the appropriate information for it to interrogate "
+"all the databases (XADataSources) that have been accessed by any JBossTS "
+"application. The access to each XADataSource is handled by a class that "
+"implements the <interfacename>com.arjuna.ats.jta.recovery."
+"XAResourceRecovery</interfacename> interface, as illustrated in Figure 4. "
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:318
+#, no-c-format
+msgid "Resource-initiated recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:321
+#, no-c-format
+msgid ""
+"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:325
+#, no-c-format
+msgid ""
+"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
+"XAResource to the target datasource. On each invocation of "
+"periodicWorkSecondPass, the recovery module will issue an XAResource.recover "
+"request – this will (as described in the XA specification) return a list of "
+"the transaction identifiers (Xid’s) that are known to the datasource and are "
+"in an indeterminate (in-doubt) state. The list of these in-doubt Xid’s "
+"received on successive passes (i.e. periodicWorkSecondPass-es) is compared. "
+"Any Xid that appears in both lists, and for which no JTA ResourceRecord was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:328
+#, no-c-format
+msgid ""
+"This double-scan mechanism is used because it is possible the Xid was "
+"obtained from the datasource just as the original application process was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:331
+#, no-c-format
+msgid ""
+"An <classname>XAResourceRecovery</classname> implementation class can be "
+"written to contain all the information needed to perform recovery to some "
+"datasource. Alternatively, a single class can handle multiple datasources. "
+"The constructor of the implementation class must have an empty parameter "
+"list (because it is loaded dynamically), but the interface includes an "
+"initialise method which passes in further information as a string. The "
+"content of the string is taken from the property value that provides the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:334
+#, no-c-format
+msgid ""
+"For further details on the way to implement a class that implements the "
+"interface <interfacename>XAResourceRecovery</interfacename>, read the JDBC "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:338
+#, no-c-format
+msgid "Writing a Recovery Module"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:339
+#, no-c-format
+msgid ""
+"In order to recover from failure, we have seen that the Recovery Manager "
+"contacts recovery modules by invoking periodically the methods "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname>. Each Recovery Module is "
+"then able to manage recovery according to the type of resources that need to "
+"be recovered. The JBoss Transaction product is shipped with a set of "
+"recovery modules (TOReceveryModule, XARecoveryModule…), but it is possible "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:342
+#, no-c-format
+msgid "A basic scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:343
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:345
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:350
+#, no-c-format
+msgid "to decide to commit or abort the transaction,"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:355
+#, no-c-format
+msgid "to decide generating a crash during the commitment process."
+msgstr ""
+
+#. 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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:363
+#, no-c-format
+msgid ""
+"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 < 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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:364
+#, no-c-format
+msgid "The registered participant has the following behavior:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:369
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:374
+#, no-c-format
+msgid ""
+"During the commit phase, it writes another message - <emphasis>I’m "
+"committed</emphasis>- in the same file used during prepare."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:379
+#, no-c-format
+msgid ""
+"If it receives an abort message, it removes from the disk the file used for "
+"prepare if any."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:384
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:389
+#, no-c-format
+msgid ""
+"The main portion of the code illustrating such behavior is described "
+"hereafter."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:393
+#, no-c-format
+msgid "The location of the file given in variable filename can be changed"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:397
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:398
+#, no-c-format
+msgid ""
+"The role of the Recovery Module in such application consists to read the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:401
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:402
+#, no-c-format
+msgid ""
+"The recovery module should now be deployed in order to be called by the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:405
+#, no-c-format
+msgid ""
+"<property\n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension<"
+"i>\"\n"
+" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:406
+#, no-c-format
+msgid ""
+"Where <i> 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:410
+#, no-c-format
+msgid ""
+"The source of the code can be retrieved under the trailmap directory of the "
+"JBossTS installation."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:415
+#, no-c-format
+msgid "Another scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:416
+#, no-c-format
+msgid ""
+"As mentioned, the basic application presented above does not present the "
+"complete process to recover from failure, but it was just presented to "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:420
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:423
+#, no-c-format
+msgid ""
+"For each OTS Resource in a doubt status, it is well known which "
+"RecoveyCoordinator to invoke to determine the status of the transaction in "
+"which the Resource is involved – It’s the RecoveryCoordinator returned "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:426
+#, no-c-format
+msgid ""
+"A recovery module dedicated to recover OTS Resources could have the "
+"following behavior. When requested by the recovery Manager on the first pass "
+"it retrieves from the disk the list of resources that are in the doubt "
+"status. During the second pass, if the resources that were retrieved in the "
+"first pass still remain in the disk then they are considered as candidates "
+"for recovery. Therefore, the Recovery Module retrieves for each candidate "
+"its associated RecoveryCoordinator and invokes the replay_completion "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:431
+#, no-c-format
+msgid "TransactionStatusConnectionManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:432
+#, no-c-format
+msgid ""
+"The TransactionStatusConnectionManager object is used by the recovery "
+"modules to retrieve the status of transactions and acts like a proxy for "
+"TransactionStatusManager objects. It maintains a table of "
+"TransactionStatusConnector obects each of which connects to a "
+"TransactionStatusManager object in an Application Process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:435
+#, no-c-format
+msgid ""
+"The transactions status is retrieved using the getTransactionStatus methods "
+"which take a transaction Uid and if available a transaction type as "
+"parameters. The process Uid field in the transactions Uid parameter is used "
+"to lookup the target TransactionStatusManagerItem host/port pair in the "
+"Object Store. The host/port pair are used to make a TCP connection to the "
+"target TransactionStatusManager object by a TransactionStatusConnector "
+"object. The TransactionStatusConnector passes the transaction Uid/"
+"transaction type to the TransactionStatusManager in order to retrieve the "
+"transactions status."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:440
+#, no-c-format
+msgid "Expired Scanner Thread"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:441
+#, no-c-format
+msgid ""
+"When the Recovery Manager initialises an expiry scanner thread "
+"ExpiryEntryMonitor is created which is used to remove long dead items from "
+"the ObjectStore. A number of scanner modules are dynamically loaded which "
+"remove long dead items for a particular type."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:444
+#, no-c-format
+msgid ""
+"Scanner modules are loaded at initialisation and are specified as properties "
+"beginning with"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:447
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
+"Class>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:448
+#, no-c-format
+msgid ""
+"All the scanner modules are called periodically to scan for dead items by "
+"the ExpiryEntryMonitor thread. This period is set with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:451
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:452
+#, no-c-format
+msgid ""
+"All scanners inherit the same behaviour from the java interface "
+"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:460
+#, no-c-format
+msgid ""
+"A scan method is provided by this interface and implemented by all scanner "
+"modules, this is the method that gets called by the scanner thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:463
+#, no-c-format
+msgid ""
+"The ExpiredTransactionStatusManagerScanner removes long dead "
+"TransactionStatusManagerItems from the Object Store. These items will remain "
+"in the Object Store for a period of time before they are deleted. This time "
+"is set by the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:466
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:467
+#, no-c-format
+msgid "(default 12 hours)"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:472
+#, no-c-format
+msgid "Application Process"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:473
+#, no-c-format
+msgid ""
+"This represents the user transactional program. A Local transaction (hash) "
+"table, maintained within the running application process keeps trace of the "
+"current status of all transactions created by that application process, The "
+"Recovery Manager needs access to the transaction tables so that it can "
+"determine whether a transaction is still in progress, if so then recovery "
+"does not happen."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:476
+#, no-c-format
+msgid ""
+"The transaction tables are accessed via the TransactionStatusManager object. "
+"On application program initialisation the host/port pair that represents the "
+"TransactionStatusManager is written to the Object Store in '../Recovery/"
+"TransactionStatusManager’ part of the Object Store file hierarchy and "
+"identified by the process Uid of the application process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:479
+#, no-c-format
+msgid ""
+"The Recovery Manager uses the TransactionStatusConnectionManager object to "
+"retrieve the status of a transaction and a TransactionStatusConnector object "
+"is used to make a TCP connection to the TransactionStatusManager."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:484
+#, no-c-format
+msgid "TransactionStatusManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:485
+#, no-c-format
+msgid ""
+"This object acts as an interface for the Recovery Manager to obtain the "
+"status of transactions from running HPTS application processes. One "
+"TransactionStatusManager is created per application process by the class com."
+"arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used "
+"for communication between the RecoveryManager and TransactionStatusManager. "
+"Any free port is used by the TransactionStatusManager by default, however "
+"the port can be fixed with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:488
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:489
+#, no-c-format
+msgid ""
+"On creation the TransactionStatusManager obtains a port which it stores with "
+"the host in the Object Store as a TransactionStatusManagerItem. A Listener "
+"thread is started which waits for a connection request from a "
+"TransactionStatusConnector. When a connection is established a Connection "
+"thread is created which runs a Service (AtomicActionStatusService) which "
+"accepts a transaction Uid and a transaction type (if available) from a "
+"TransactionStatusConnector, the transaction status is obtained from the "
+"local thransaction table and returned back to the TransactionStatusConnector."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:494
+#, no-c-format
+msgid "Object Store"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:495
+#, no-c-format
+msgid ""
+"All objects are stored in a file path which is equivalent to their class "
+"inheritance. Thus AtomicAction transactions are stored in file path ../"
+"StateManager/BasicAction/AtomicAction."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:498
+#, no-c-format
+msgid ""
+"All objects are identified by a unique identifier Uid. One of the values of "
+"which is a process id in which the object was created. The Recovery Manager "
+"uses the process id to locate transaction status manager items when "
+"contacting the originator application process for the transaction status."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Author_Group.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Author_Group.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Author_Group.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: corpauthor
+#: Author_Group.xml:6
+#, no-c-format
+msgid "Red Hat Documentation Group"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Book_Info.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,46 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Book_Info.xml:6
+#, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: subtitle
+#: Book_Info.xml:7
+#, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
+msgstr ""
+
+#. Tag: para
+#: Book_Info.xml:13
+#, no-c-format
+msgid ""
+"This book is the Enterprise Application Platform edition of the JBoss "
+"Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: phrase
+#: Book_Info.xml:20
+#, no-c-format
+msgid "Logo"
+msgstr ""
+
+#. Tag: holder
+#: Book_Info.xml:26
+#, no-c-format
+msgid "&HOLDER;"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/How_JBossTS_managers_the_OTS_Recovery_Protocol.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,692 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:6
+#, no-c-format
+msgid "How JBossTS manages the OTS Recovery Protocol"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:10
+#, no-c-format
+msgid "Recovery Protocol in OTS-Overview"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:11
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"appropriate decision either by roll backing or committing."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
+#, no-c-format
+msgid ""
+"A reference to a RecoveryCoordinator is returned as a result of successfully "
+"calling register_resource on the transaction Coordinator. This object, which "
+"is implicitly associated with a single Resource, can be used to drive the "
+"Resource through recovery procedures in the event of a failure occurring "
+"during the transaction."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
+#, no-c-format
+msgid "Resource and RecoveryCoordinator relationship."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:26
+#, no-c-format
+msgid "RecoveryCoordinator in JBossTS"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:27
+#, no-c-format
+msgid ""
+"On each resource registration a RecoveryCoordinator Object is expected to be "
+"created and returned to the application that invoked the register_resource "
+"operation. Behind each CORBA object there should be an object implementation "
+"or Servant object, in POA terms, which performs operations made on a "
+"RecoveryCoordinator object. Rather than to create a RecoveryCoordinator "
+"object with its associated servant on each register_resource, JBossTS "
+"enhances performance by avoiding the creation of servants but it relies on a "
+"default RecoveryCoordinator object with it’s associated default servant to "
+"manage all replay_completion invocations."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
+#, no-c-format
+msgid ""
+"In the next sections we first give an overview of the Portable Object "
+"Adapter architecture, then we describe how this architecture is used to "
+"provide RecoveryCoordinator creation with optimization as explained above."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
+#, no-c-format
+msgid "Understanding POA"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:35
+#, no-c-format
+msgid ""
+"Basically, the Portable Object Adapter, or POA is an object that intercepts "
+"a client request and identifies the object that satisfies the client "
+"request. The Object is then invoked and the response is returned to the "
+"client."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
+#, no-c-format
+msgid "Overview of the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:45
+#, no-c-format
+msgid ""
+"The object that performs the client request is referred as a servant, which "
+"provides the implementation of the CORBA object requested by the client. A "
+"servant provides the implementation for one or more CORBA object references. "
+"To retreive a servant, each POA maintains an Active Object Map that maps all "
+"objects that have been activated in the POA to a servant. For each incoming "
+"request, the POA looks up the object reference in the Active Object Map and "
+"tries to find the responsible servant. If none is found, the request is "
+"either delegated to a default servant, or a servant manager is invoked to "
+"activate or locate an appropriate servant. In addition to the name space for "
+"the objects, which are identified by Object Ids, a POA also provides a name "
+"space for POAs. A POA is created as a child of an existing POA, which forms "
+"a hierarchy starting with the root POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
+#, no-c-format
+msgid ""
+"Each POA has a set of policies that define its characteristics. When "
+"creating a new POA, the default set of policies can be used or different "
+"values can be assigned that suit the application requirements. The POA "
+"specification defines:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
+#, no-c-format
+msgid ""
+"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
+"by the POA. Possible values are:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
+#, no-c-format
+msgid ""
+"ORB_CTRL_MODEL (default): The POA is responsible for assigning requests to "
+"threads."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:63
+#, no-c-format
+msgid "SINGLE_THREAD_MODEL: The POA processes requests sequentially"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:70
+#, no-c-format
+msgid ""
+"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
+"implemented in the POA. The lifespan policy can have the following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
+#, no-c-format
+msgid ""
+"TRANSIENT (Default) Objects implemented in the POA cannot outlive the "
+"process in which they are first created. Once the POA is deactivated, an "
+"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
+"references generated by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:80
+#, no-c-format
+msgid ""
+"PERSISTENT Objects implemented in the POA can outlive the process in which "
+"they are first created."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
+#, no-c-format
+msgid ""
+"Object ID Uniqueness policy: Allows a single servant to be shared by many "
+"abstract objects. The Object ID Uniqueness policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
+#, no-c-format
+msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
+#, no-c-format
+msgid ""
+"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
+"ID must be determined within the method being invoked at run time."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
+#, no-c-format
+msgid ""
+"ID Assignment policy: Specifies whether object IDs are generated by server "
+"applications or by the POA. The ID Assignment policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
+#, no-c-format
+msgid "USER_ID is for persistent objects, and"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:114
+#, no-c-format
+msgid "SYSTEM_ID is for transient objects."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:121
+#, no-c-format
+msgid ""
+"Servant Retention policy: Specifies whether the POA retains active servants "
+"in the Active Object Map. The Servant Retention policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
+#, no-c-format
+msgid ""
+"RETAIN (Default) The POA tracks object activations in the Active Object Map. "
+"RETAIN is usually used with ServantActivators or explicit activation methods "
+"on POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
+#, no-c-format
+msgid ""
+"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
+"NON_RETAIN is typically used with ServantLocators."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
+#, no-c-format
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:143
+#, no-c-format
+msgid ""
+"USE_ACTIVE_OBJECT_MAP (Default): If the Object ID is not listed in the "
+"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
+"also use the RETAIN policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
+#, no-c-format
+msgid ""
+"USE_DEFAULT_SERVANT: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the request is dispatched to the default "
+"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
+"is returned. The POA must also use the MULTIPLE_ID policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
+#, no-c-format
+msgid ""
+"USE_SERVANT_MANAGER: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
+"servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
+#, no-c-format
+msgid ""
+"Implicit Activation policy: Specifies whether the POA supports implicit "
+"activation of servants. The Implicit Activation policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
+#, no-c-format
+msgid ""
+"IMPLICIT_ACTIVATION: The POA supports implicit activation of servants. "
+"Servants can be activated by converting them to an object reference with "
+"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> "
+"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
+"also use the SYSTEM_ID and RETAIN policies with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
+#, no-c-format
+msgid ""
+"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
+"activation of servants."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
+#, no-c-format
+msgid ""
+"It appears that to redirect replay_completion invocations to a default "
+"servant we need to create a POA with the Request Processing policy assigned "
+"with the value set to USE_DEFAULT_SERVANT. However to reach that default "
+"Servant we should first reach the POA that forward the request to the "
+"default servant. Indeed, the ORB uses a set of information to retrieve a "
+"POA; these information are contained in the object reference used by the "
+"client. Among these information there are the IP address and the port number "
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
+#, no-c-format
+msgid "The default RecoveryCoordinator in Orbix"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:183
+#, no-c-format
+msgid ""
+"Within Orbix, objects are located by the Location Deamon. To avoid the "
+"overhead of using the location daemon, Orbix provides a mechanism named "
+"<emphasis>Direct Persistence</emphasis> allowing generating persistent "
+"object references. This mechanism is in fact a proprietary policy named, "
+"DIRECT_PERSISTENCE. A POA with policies of PERSISTENT and DIRECT_PERSISTENCE "
+"generates IORs that contain a well-known address for the server process. A "
+"POA that uses direct persistence must also tell each transport mechanism "
+"such as IIOP where in the configuration file it can find the well-known "
+"address that it should use. This is done by creating a "
+"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
+"configuration scope that contains the well-known address."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
+#, no-c-format
+msgid ""
+"To specify the address used by the <code>WellKnownAddressingPolicy</code> "
+"object, JBossTS uses the Orbix mechanism that allows specifying an ORB/POA "
+"names. The following configuration modifications are necessary to define the "
+"well-know address of the RecoveryCoordinator performing replay_completion "
+"invocation."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
+#, no-c-format
+msgid ""
+"Note that this configuration is also necessary to support transaction "
+"context propagation and interposition."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
+#, no-c-format
+msgid ""
+"A new orb name domain called arjuna should be created within the main Orbix "
+"2000 domain being used by the application. It requires the following format:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
+#, no-c-format
+msgid ""
+"arjuna\n"
+"{\n"
+" portable_interceptor\n"
+" {\n"
+" orb_plugins = [\"local_log_stream\", \"iiop_profile\", \"giop"
+"\", \"iiop\", \"portable_interceptor\"];\n"
+" \n"
+" ots_recovery_coordinator\n"
+" {\n"
+" recovery_coordinator:iiop:addr_list = [“<name>:"
+"<port>”];\n"
+" };\n"
+" \n"
+" ots_transaction\n"
+" {\n"
+" transaction:iiop:addr_list = [“+<name>:<"
+"port>”];\n"
+" }; \n"
+" ots_context\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Context\", "
+"\"OTS_Context+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Context+GIOP+IIOP\", \"GIOP"
+"+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Context\", "
+"\"\"];\n"
+" };\n"
+" \n"
+" ots_interposition\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Interposition"
+"\", \"OTS_Interposition+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Interposition+GIOP"
+"+IIOP\", \"GIOP+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Interposition"
+"\", \"\"];\n"
+" };\n"
+" };\n"
+"};"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:198
+#, no-c-format
+msgid ""
+"The <name> field should be substituted by the name of the machine on "
+"which JBossTS is being run. The <port> field should be an unused port "
+"on which the JBossTS recovery manager may listen for recovery requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
+#, no-c-format
+msgid ""
+"Because of the way in which Orbix works with persistent POAs, if you want "
+"crash recovery support for your applications you must use one of the Arjuna "
+"ORB names provided (context or interposition) when running your clients and "
+"services. When using transaction context propagation only, the<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> parameter should "
+"be passed to the client and server. When using context propagation and "
+"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
+"ots_interposition</parameter> parameter should be used. For example:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
+#, no-c-format
+msgid "java mytest –ORBname arjuna.portable_interceptor.ots_context"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:206
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:287
+#, no-c-format
+msgid "How it works"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:207
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application. The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs all replay_invocations requests."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
+#, no-c-format
+msgid ""
+"The Recovery Manager and the creation of the default servant for "
+"RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
+#, no-c-format
+msgid ""
+"There is one recovery Manager Process per machine, then one default servant "
+"per machine. Performing all replay_completion invocations means those made "
+"on the same machine."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
+#, no-c-format
+msgid ""
+"When started, the application, using JBossTS in library mode, is launched a "
+"child POA is created with the same policies as those defined within the "
+"Recovery Manager. This child POA is used to create object references, for "
+"RecoveryCoordinator CORBA objects, that need to be returned on "
+"register_resource invocations, as illustrated in figure below. The Object "
+"reference created has an Object ID that contains the transaction ID in "
+"progress and the Process Identifier of the application."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
+#, no-c-format
+msgid ""
+"If the Transaction Service is used in the stand-alone mode, the behavior to "
+"create object reference to RecoveryCoordinator objects is exactly the same; "
+"the process ID used in the Object ID is the Transaction Service process ID"
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
+#, no-c-format
+msgid ""
+"Having the object reference of the RecoveryCoordinator, an application can "
+"use it to determine the status of the transaction for which that object "
+"reference is created. When a RecoveryCoordinator, according to POA policies "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
+"described in the figure below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
+#, no-c-format
+msgid "The flow described in the figure can be depicted as follow:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:250
+#, no-c-format
+msgid ""
+"The participant invokes the replay_completion operation on "
+"RecoveryCoordinator object using the object reference returned by the "
+"Transaction Server."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
+#, no-c-format
+msgid ""
+"The request is forwarded to the Recovery Manager process since the Well-"
+"known-address policy is used to retrieve."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
+#, no-c-format
+msgid "The child POA responsible to locate the servant is retrieved."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:265
+#, no-c-format
+msgid ""
+"After looking to the Active Object Map, the child POA invokes the default "
+"servant to perform the request. Note that the Object ID conveyed by the "
+"object reference is not retrieved in the AOP."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
+#, no-c-format
+msgid ""
+"The servant extracts from the request the Object ID that contains the "
+"Transaction ID and the process ID of the Transaction Server process. To "
+"determine if the process still alive, the TransactionStatusConnectionManager "
+"functionalities are used."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
+#, no-c-format
+msgid ""
+"According to the presence or not of the Transaction Server process and "
+"eventually the returned status, the servant returns the status of the "
+"transaction asked by the participant."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
+#, no-c-format
+msgid "The default RecoveryCoordinator in JacOrb"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:283
+#, no-c-format
+msgid ""
+"JacORB does not define additional policies to redirect any request on a "
+"RecoveryCoordinator object to a default servant located in the Recovery "
+"Manager process. However it provides a set of APIs that allows building "
+"object references with specific IP address, port number and POA name in "
+"order to reach the appropriate default servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager ) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application (JacORB). The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs replay_completion invocations requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
+#, no-c-format
+msgid ""
+"In addition to the creation of the default servant, an object reference to a "
+"<code>RecoveryCoordinator</code> object is created and stored in the "
+"ObjectStore. As we will see this object reference will be used to obtain its "
+"IP address, port number and POA name and assign them to any "
+"<code>RecoveryCoordinator</code> object reference created on "
+"register_resource."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
+#, no-c-format
+msgid ""
+"When an application registers a resource with a transaction, a "
+"<code>RecoveryCoordinator</code> object reference is expected to be "
+"returned. To build that object reference, the Transaction Service uses the "
+"RecoveryCoordinator object reference created within the Recovery Manager as "
+"a template. The new object reference contains practically the same "
+"information to retrieve the default servant (IP address, port number, POA "
+"name, etc.), but the Object ID is changed; now, it contains the Transaction "
+"ID of the transaction in progress and also the Process ID of the process "
+"that is creating the new <code>RecoveryCoordinator</code> object reference, "
+"as illustrated below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference "
+"build from a reference stored in the ObjectStore."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
+#, no-c-format
+msgid ""
+"Since a <code>RecoveryCoordintaor</code> object reference returned to an "
+"application contains all information to retrieve the POA then the default "
+"servant located in the Recovery Manager, all replay_completion invocation, "
+"per machine, are forwarded to the same default <code>RecoveryCoordinator</"
+"code> that is able to retreive the Object ID from the incoming request to "
+"extract the transaction identifier and the process identifier needed to "
+"determine the status of the requested transaction."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/JBoss_Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Preface.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Preface.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Preface.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Preface.xml:6
+#, no-c-format
+msgid "Preface"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Revision_History.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,26 @@
+# Language es-ES translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
+#. Tag: author
+#: Revision_History.xml:12
+#, no-c-format
+msgid "<firstname></firstname> <surname></surname> <email></email>"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/es-ES/Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Appendix.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Appendix.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Appendix.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"PO-Revision-Date: 2008-08-05 01:23+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Appendix.xml:9
+#, no-c-format
+msgid "Revision History"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Architecture_of_the_Recovery_Manager.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,1481 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:6
+#, no-c-format
+msgid "Architecture of the Recovery Manager"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:8
+#, no-c-format
+msgid "Crash Recovery Overview"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:9
+#, no-c-format
+msgid ""
+"The main architectural components within Crash Recovery are illustrated in "
+"the diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:17
+#, no-c-format
+msgid ""
+"The Recovery Manager is a daemon process responsible for performing crash "
+"recovery. Only one Recovery Manager runs per node. The Object Store provides "
+"persistent data storage for transactions to log data. During normal "
+"transaction processing each transaction will log persistent data needed for "
+"the commit phase to the Object Store. On successfully committing a "
+"transaction this data is removed, however if the transaction fails then this "
+"data remains within the Object Store."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:20
+#, no-c-format
+msgid "The Recovery Manager functions by:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:25
+#, no-c-format
+msgid ""
+"Periodically scanning the Object Store for transactions that may have "
+"failed. Failed transactions are indicated by the presence of log data after "
+"a period of time that the transaction would have normally been expected to "
+"finish."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:30
+#, no-c-format
+msgid ""
+"Checking with the application process which originated the transaction "
+"whether the transaction is still in progress or not."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:35
+#, no-c-format
+msgid ""
+"Recovering the transaction by re-activating the transaction and then "
+"replaying phase two of the commit protocol."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:40
+#, no-c-format
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:46
+#, no-c-format
+msgid "Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:47
+#, no-c-format
+msgid ""
+"On initialization the Recovery Manager first loads in configuration "
+"information via a properties file. This configuration includes a number of "
+"recovery activators and recovery modules, which are then dynamically loaded."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:50
+#, no-c-format
+msgid ""
+"Since the version 3.0 of JBossTS, the Recovery Manager is not specifically "
+"tied to an Object Request Broker or ORB. Hence, the OTS recovery protocol is "
+"not implicitly enabled. To enable such protocol, we use the concept of "
+"recovery activator, defined with the interface "
+"<interfacename>RecoveryActivator</interfacename>, which is used to "
+"instantiate a recovery class related to the underlying communication "
+"protocol. For instance, when used with OTS, the "
+"<interfacename>RecoveryActivitor</interfacename> has the responsibility to "
+"create a RecoveryCoordinator object able to respond to the replay_completion "
+"operation."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:53
+#, no-c-format
+msgid ""
+"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
+"same interface. They are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:56
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery."
+"recoveryActivator_<number>\" value=\"RecoveryClass\" />"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:57
+#, no-c-format
+msgid ""
+"For instance the <interfacename>RecoveryActivator</interfacename> provided "
+"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:60
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryActivator_1\" value="
+"\"com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:61
+#, no-c-format
+msgid ""
+"When loaded all <interfacename>RecoveryActivator</interfacename> instances "
+"provide the method <methodname>startRCservice</methodname> invoked by the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:64
+#, no-c-format
+msgid ""
+"Each recovery module is used to recover a different type of transaction/"
+"resource, however each recovery module inherits the same basic behavior."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:67
+#, no-c-format
+msgid ""
+"Recovery consists of two separate passes/phases separated by two timeout "
+"periods. The first pass examines the object store for potentially failed "
+"transactions; the second pass performs crash recovery on failed "
+"transactions. The timeout between the first and second pass is known as the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:70
+#, no-c-format
+msgid ""
+"The Recovery Manager invokes the first pass upon each recovery module, "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:73
+#, no-c-format
+msgid ""
+"The recovery modules are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:76
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension<number>=<"
+"RecoveryClass>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:77
+#, no-c-format
+msgid ""
+"The backoff period and recovery period are set using the following "
+"properties:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:80
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery (default 120 "
+"secs)"
+msgstr ""
+
+#. 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:86
+#, no-c-format
+msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:91
+#, no-c-format
+msgid ""
+"RecoveryManager: The daemon process that starts up by instantiating an "
+"instance of the RecoveryManagerImple class."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:96
+#, no-c-format
+msgid "RecoveryEnvironment: Properties used by the recovery manager."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:101
+#, no-c-format
+msgid ""
+"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
+"file. (for instance, RecoveryManager-properties.xml)"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:108
+#, no-c-format
+msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:113
+#, no-c-format
+msgid ""
+"RecoveryManagerImple: Creates and starts instances of the "
+"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
+"thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:118
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:123
+#, no-c-format
+msgid ""
+"PeriodicRecovery: Thread which loads each recovery module, then calls the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:128
+#, no-c-format
+msgid ""
+"RecoveryClassLoader: Dynamically loads in the recovery modules specified in "
+"the Recovery Manager property file. Each module is specified as a recovery "
+"extension in the properties file (for instance, com.arjuna.ats.arjuna."
+"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
+"AtomicActionRecoveryModule)."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:136
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:141
+#, no-c-format
+msgid "Embedding the Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:142
+#, no-c-format
+msgid ""
+"In some situations it may be required to embed the RecoveryManager in the "
+"same process as the transaction service. In this case you can create an "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:148
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:153
+#, no-c-format
+msgid ""
+"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
+"directly via the scan operation or RecoveryDriver."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:159
+#, no-c-format
+msgid "Managing recovery directly"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:160
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:165
+#, no-c-format
+msgid "Seperate Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:166
+#, no-c-format
+msgid ""
+"You can either use the com.arjuna.ats.arjuna.tools.RecoveryMonitor program "
+"to send a message to the Recovery Manager instructing it to perform "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:172
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:177
+#, no-c-format
+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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:183
+#, no-c-format
+msgid "In process Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:184
+#, no-c-format
+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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:188
+#, no-c-format
+msgid ""
+"public interface RecoveryScan\n"
+"{\n"
+" public void completed ();\n"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:189
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:195
+#, no-c-format
+msgid "Recovery Modules"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:196
+#, no-c-format
+msgid ""
+"As stated before each recovery module is used to recover a different type of "
+"transaction/resource, but each recovery module must implement the following "
+"RecoveryModule interface, which defines two methods: "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
+"Manager."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:199
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:201
+#, no-c-format
+msgid "JBossTS Recovery Module Classes"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:202
+#, no-c-format
+msgid ""
+"JBossTS provides a set of recovery modules that are responsible to manage "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:209
+#, no-c-format
+msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:210
+#, no-c-format
+msgid "Recovers AtomicAction transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:217
+#, no-c-format
+msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:218
+#, no-c-format
+msgid "Recovers Transactional Objects for Java."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:225
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:226
+#, no-c-format
+msgid ""
+"Recovers JTS Transactions. This is a generic class from which TopLevel and "
+"Server transaction recovery modules inherit, respectively"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:233
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:241
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:252
+#, no-c-format
+msgid "AtomicAction pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:253
+#, no-c-format
+msgid "First Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:257
+#, no-c-format
+msgid ""
+"< create a transaction vector for transaction Uids. >\n"
+"< read in all transactions for a transaction type AtomicAction. >\n"
+"while < there are transactions in the vector of transactions. >\n"
+"do\n"
+" < add the transaction to the vector of transactions. >\n"
+"end while."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
+#, no-c-format
+msgid "Second Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:261
+#, no-c-format
+msgid ""
+"while < there are transactions in the transaction vector >\n"
+"do\n"
+" if < the intention list for the transaction still exists >\n"
+" then\n"
+" < create new transaction cached item >\n"
+" < obtain the status of the transaction >\n"
+" \n"
+" if < the transaction is not in progress >\n"
+" then\n"
+" < replay phase two of the commit protocol >\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:263
+#, no-c-format
+msgid "Transactional Object pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:264
+#, no-c-format
+msgid "First Pass"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:266
+#, no-c-format
+msgid ""
+"< Create a hash table for uncommitted transactional objects. >\n"
+"< Read in all transactional objects within the object store. >\n"
+"while < there are transactional objects >\n"
+"do\n"
+" if < the transactional object has an Uncommited status in "
+"the object store >\n"
+" then\n"
+" < add the transactional Object o the hash table for "
+"uncommitted transactional objects>\n"
+" end if.\n"
+"end while."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:270
+#, no-c-format
+msgid ""
+"while < there are transactions in the hash table for uncommitted "
+"transactional objects >\n"
+"do\n"
+" if < the transaction is still in the Uncommitted state >\n"
+" then\n"
+" if < the transaction is not in the Transaction Cache "
+">\n"
+" then\n"
+" < check the status of the transaction with the "
+"original application process >\n"
+" if < the status is Rolled Back or the application "
+"process is inactive >\n"
+" < rollback the transaction by removing "
+"the Uncommitted status from the Object Store >\n"
+" endif.\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:272
+#, no-c-format
+msgid "A Recovery Module for XA Resources"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:273
+#, no-c-format
+msgid ""
+"To manage recovery, we have seen in the previous chapter that the Recovery "
+"Manager triggers a recovery process by calling a set of recovery modules "
+"that implements the two methods defined by the "
+"<interfacename>RecoveryModule</interfacename> interface."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:277
+#, no-c-format
+msgid ""
+"To enable recovery of participants controlled via the <interfacename>XA</"
+"interfacename> interface, a specific recovery module named XARecoveryModule "
+"is provided. The XARecoveryModule, defined in the packages <package>com."
+"arjuna.ats.internal.jta.recovery.arjunacore</package> and <package>com."
+"arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
+"<interfacename>XA</interfacename> resources (for example, databases) used in "
+"JTA."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:281
+#, no-c-format
+msgid ""
+"JBossTS supports two JTA implementations: a purely local version (no "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:285
+#, no-c-format
+msgid ""
+"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
+"emphasis> and <emphasis>resource-initiated</emphasis> recovery. Transaction-"
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:292
+#, no-c-format
+msgid "JTA/JDBC information stored in the ObjectStore"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:294
+#, no-c-format
+msgid ""
+"A JTA Resource record contains the information needed to link the "
+"transaction, as known to the rest of JBossTS, to the database. Resource-"
+"initiated recovery is necessary for branches where a failure occurred after "
+"the database had made a persistent record of the transaction, but before the "
+"JTA ResourceRecord was persisted. Resource-initiated recovery is also "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:298
+#, no-c-format
+msgid ""
+"When running XA recovery it is necessary to tell JBossTS which types of Xid "
+"it can recover. Each Xid that JBossTS creates has a unique node identifier "
+"encoded within it and JBossTS will only recover transactions and states that "
+"match a specified node identifier. The node identifier to use should be "
+"provided to JBossTS via a property that starts with the name <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property>; multiple values may be provided. A "
+"value of ‘*’ will force JBossTS to recover (and possibly rollback) all "
+"transactions irrespective of their node identifier and should be used with "
+"caution. The contents of <property>com.arjuna.ats.jta.xaRecoveryNode</"
+"property> should be alphanumeric and match the values of <property>com."
+"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:302
+#, no-c-format
+msgid ""
+"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
+"JTA Resource Record that need recovery, then uses the normal recovery "
+"mechanisms to find the status of the transaction it was involved in (i.e., "
+"it calls replay_completion on the RecoveryCoordinator for the transaction "
+"branch), (re)creates the appropriate XAResource and issues commit or "
+"rollback on it as appropriate. The XAResource creation will use the same "
+"information, database name, username, password etc., as the original "
+"application."
+msgstr ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:309
+#, no-c-format
+msgid "Transaction-Initiated Recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:311
+#, no-c-format
+msgid ""
+"Resource-initiated recovery has to be specifically configured, by supplying "
+"the Recovery Manager with the appropriate information for it to interrogate "
+"all the databases (XADataSources) that have been accessed by any JBossTS "
+"application. The access to each XADataSource is handled by a class that "
+"implements the <interfacename>com.arjuna.ats.jta.recovery."
+"XAResourceRecovery</interfacename> interface, as illustrated in Figure 4. "
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:318
+#, no-c-format
+msgid "Resource-initiated recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:321
+#, no-c-format
+msgid ""
+"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:325
+#, no-c-format
+msgid ""
+"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
+"XAResource to the target datasource. On each invocation of "
+"periodicWorkSecondPass, the recovery module will issue an XAResource.recover "
+"request – this will (as described in the XA specification) return a list of "
+"the transaction identifiers (Xid’s) that are known to the datasource and are "
+"in an indeterminate (in-doubt) state. The list of these in-doubt Xid’s "
+"received on successive passes (i.e. periodicWorkSecondPass-es) is compared. "
+"Any Xid that appears in both lists, and for which no JTA ResourceRecord was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:328
+#, no-c-format
+msgid ""
+"This double-scan mechanism is used because it is possible the Xid was "
+"obtained from the datasource just as the original application process was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:331
+#, no-c-format
+msgid ""
+"An <classname>XAResourceRecovery</classname> implementation class can be "
+"written to contain all the information needed to perform recovery to some "
+"datasource. Alternatively, a single class can handle multiple datasources. "
+"The constructor of the implementation class must have an empty parameter "
+"list (because it is loaded dynamically), but the interface includes an "
+"initialise method which passes in further information as a string. The "
+"content of the string is taken from the property value that provides the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:334
+#, no-c-format
+msgid ""
+"For further details on the way to implement a class that implements the "
+"interface <interfacename>XAResourceRecovery</interfacename>, read the JDBC "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:338
+#, no-c-format
+msgid "Writing a Recovery Module"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:339
+#, no-c-format
+msgid ""
+"In order to recover from failure, we have seen that the Recovery Manager "
+"contacts recovery modules by invoking periodically the methods "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname>. Each Recovery Module is "
+"then able to manage recovery according to the type of resources that need to "
+"be recovered. The JBoss Transaction product is shipped with a set of "
+"recovery modules (TOReceveryModule, XARecoveryModule…), but it is possible "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:342
+#, no-c-format
+msgid "A basic scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:343
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:345
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:350
+#, no-c-format
+msgid "to decide to commit or abort the transaction,"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:355
+#, no-c-format
+msgid "to decide generating a crash during the commitment process."
+msgstr ""
+
+#. 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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:363
+#, no-c-format
+msgid ""
+"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 < 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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:364
+#, no-c-format
+msgid "The registered participant has the following behavior:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:369
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:374
+#, no-c-format
+msgid ""
+"During the commit phase, it writes another message - <emphasis>I’m "
+"committed</emphasis>- in the same file used during prepare."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:379
+#, no-c-format
+msgid ""
+"If it receives an abort message, it removes from the disk the file used for "
+"prepare if any."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:384
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:389
+#, no-c-format
+msgid ""
+"The main portion of the code illustrating such behavior is described "
+"hereafter."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:393
+#, no-c-format
+msgid "The location of the file given in variable filename can be changed"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:397
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:398
+#, no-c-format
+msgid ""
+"The role of the Recovery Module in such application consists to read the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:401
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:402
+#, no-c-format
+msgid ""
+"The recovery module should now be deployed in order to be called by the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:405
+#, no-c-format
+msgid ""
+"<property\n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension<"
+"i>\"\n"
+" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:406
+#, no-c-format
+msgid ""
+"Where <i> 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:410
+#, no-c-format
+msgid ""
+"The source of the code can be retrieved under the trailmap directory of the "
+"JBossTS installation."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:415
+#, no-c-format
+msgid "Another scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:416
+#, no-c-format
+msgid ""
+"As mentioned, the basic application presented above does not present the "
+"complete process to recover from failure, but it was just presented to "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:420
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:423
+#, no-c-format
+msgid ""
+"For each OTS Resource in a doubt status, it is well known which "
+"RecoveyCoordinator to invoke to determine the status of the transaction in "
+"which the Resource is involved – It’s the RecoveryCoordinator returned "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:426
+#, no-c-format
+msgid ""
+"A recovery module dedicated to recover OTS Resources could have the "
+"following behavior. When requested by the recovery Manager on the first pass "
+"it retrieves from the disk the list of resources that are in the doubt "
+"status. During the second pass, if the resources that were retrieved in the "
+"first pass still remain in the disk then they are considered as candidates "
+"for recovery. Therefore, the Recovery Module retrieves for each candidate "
+"its associated RecoveryCoordinator and invokes the replay_completion "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:431
+#, no-c-format
+msgid "TransactionStatusConnectionManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:432
+#, no-c-format
+msgid ""
+"The TransactionStatusConnectionManager object is used by the recovery "
+"modules to retrieve the status of transactions and acts like a proxy for "
+"TransactionStatusManager objects. It maintains a table of "
+"TransactionStatusConnector obects each of which connects to a "
+"TransactionStatusManager object in an Application Process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:435
+#, no-c-format
+msgid ""
+"The transactions status is retrieved using the getTransactionStatus methods "
+"which take a transaction Uid and if available a transaction type as "
+"parameters. The process Uid field in the transactions Uid parameter is used "
+"to lookup the target TransactionStatusManagerItem host/port pair in the "
+"Object Store. The host/port pair are used to make a TCP connection to the "
+"target TransactionStatusManager object by a TransactionStatusConnector "
+"object. The TransactionStatusConnector passes the transaction Uid/"
+"transaction type to the TransactionStatusManager in order to retrieve the "
+"transactions status."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:440
+#, no-c-format
+msgid "Expired Scanner Thread"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:441
+#, no-c-format
+msgid ""
+"When the Recovery Manager initialises an expiry scanner thread "
+"ExpiryEntryMonitor is created which is used to remove long dead items from "
+"the ObjectStore. A number of scanner modules are dynamically loaded which "
+"remove long dead items for a particular type."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:444
+#, no-c-format
+msgid ""
+"Scanner modules are loaded at initialisation and are specified as properties "
+"beginning with"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:447
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
+"Class>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:448
+#, no-c-format
+msgid ""
+"All the scanner modules are called periodically to scan for dead items by "
+"the ExpiryEntryMonitor thread. This period is set with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:451
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:452
+#, no-c-format
+msgid ""
+"All scanners inherit the same behaviour from the java interface "
+"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:460
+#, no-c-format
+msgid ""
+"A scan method is provided by this interface and implemented by all scanner "
+"modules, this is the method that gets called by the scanner thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:463
+#, no-c-format
+msgid ""
+"The ExpiredTransactionStatusManagerScanner removes long dead "
+"TransactionStatusManagerItems from the Object Store. These items will remain "
+"in the Object Store for a period of time before they are deleted. This time "
+"is set by the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:466
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:467
+#, no-c-format
+msgid "(default 12 hours)"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:472
+#, no-c-format
+msgid "Application Process"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:473
+#, no-c-format
+msgid ""
+"This represents the user transactional program. A Local transaction (hash) "
+"table, maintained within the running application process keeps trace of the "
+"current status of all transactions created by that application process, The "
+"Recovery Manager needs access to the transaction tables so that it can "
+"determine whether a transaction is still in progress, if so then recovery "
+"does not happen."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:476
+#, no-c-format
+msgid ""
+"The transaction tables are accessed via the TransactionStatusManager object. "
+"On application program initialisation the host/port pair that represents the "
+"TransactionStatusManager is written to the Object Store in '../Recovery/"
+"TransactionStatusManager’ part of the Object Store file hierarchy and "
+"identified by the process Uid of the application process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:479
+#, no-c-format
+msgid ""
+"The Recovery Manager uses the TransactionStatusConnectionManager object to "
+"retrieve the status of a transaction and a TransactionStatusConnector object "
+"is used to make a TCP connection to the TransactionStatusManager."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:484
+#, no-c-format
+msgid "TransactionStatusManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:485
+#, no-c-format
+msgid ""
+"This object acts as an interface for the Recovery Manager to obtain the "
+"status of transactions from running HPTS application processes. One "
+"TransactionStatusManager is created per application process by the class com."
+"arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used "
+"for communication between the RecoveryManager and TransactionStatusManager. "
+"Any free port is used by the TransactionStatusManager by default, however "
+"the port can be fixed with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:488
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:489
+#, no-c-format
+msgid ""
+"On creation the TransactionStatusManager obtains a port which it stores with "
+"the host in the Object Store as a TransactionStatusManagerItem. A Listener "
+"thread is started which waits for a connection request from a "
+"TransactionStatusConnector. When a connection is established a Connection "
+"thread is created which runs a Service (AtomicActionStatusService) which "
+"accepts a transaction Uid and a transaction type (if available) from a "
+"TransactionStatusConnector, the transaction status is obtained from the "
+"local thransaction table and returned back to the TransactionStatusConnector."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:494
+#, no-c-format
+msgid "Object Store"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:495
+#, no-c-format
+msgid ""
+"All objects are stored in a file path which is equivalent to their class "
+"inheritance. Thus AtomicAction transactions are stored in file path ../"
+"StateManager/BasicAction/AtomicAction."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:498
+#, no-c-format
+msgid ""
+"All objects are identified by a unique identifier Uid. One of the values of "
+"which is a process id in which the object was created. The Recovery Manager "
+"uses the process id to locate transaction status manager items when "
+"contacting the originator application process for the transaction status."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Author_Group.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Author_Group.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Author_Group.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: corpauthor
+#: Author_Group.xml:6
+#, no-c-format
+msgid "Red Hat Documentation Group"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Book_Info.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,46 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Book_Info.xml:6
+#, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: subtitle
+#: Book_Info.xml:7
+#, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
+msgstr ""
+
+#. Tag: para
+#: Book_Info.xml:13
+#, no-c-format
+msgid ""
+"This book is the Enterprise Application Platform edition of the JBoss "
+"Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: phrase
+#: Book_Info.xml:20
+#, no-c-format
+msgid "Logo"
+msgstr ""
+
+#. Tag: holder
+#: Book_Info.xml:26
+#, no-c-format
+msgid "&HOLDER;"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,692 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:6
+#, no-c-format
+msgid "How JBossTS manages the OTS Recovery Protocol"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:10
+#, no-c-format
+msgid "Recovery Protocol in OTS-Overview"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:11
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"appropriate decision either by roll backing or committing."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
+#, no-c-format
+msgid ""
+"A reference to a RecoveryCoordinator is returned as a result of successfully "
+"calling register_resource on the transaction Coordinator. This object, which "
+"is implicitly associated with a single Resource, can be used to drive the "
+"Resource through recovery procedures in the event of a failure occurring "
+"during the transaction."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
+#, no-c-format
+msgid "Resource and RecoveryCoordinator relationship."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:26
+#, no-c-format
+msgid "RecoveryCoordinator in JBossTS"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:27
+#, no-c-format
+msgid ""
+"On each resource registration a RecoveryCoordinator Object is expected to be "
+"created and returned to the application that invoked the register_resource "
+"operation. Behind each CORBA object there should be an object implementation "
+"or Servant object, in POA terms, which performs operations made on a "
+"RecoveryCoordinator object. Rather than to create a RecoveryCoordinator "
+"object with its associated servant on each register_resource, JBossTS "
+"enhances performance by avoiding the creation of servants but it relies on a "
+"default RecoveryCoordinator object with it’s associated default servant to "
+"manage all replay_completion invocations."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
+#, no-c-format
+msgid ""
+"In the next sections we first give an overview of the Portable Object "
+"Adapter architecture, then we describe how this architecture is used to "
+"provide RecoveryCoordinator creation with optimization as explained above."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
+#, no-c-format
+msgid "Understanding POA"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:35
+#, no-c-format
+msgid ""
+"Basically, the Portable Object Adapter, or POA is an object that intercepts "
+"a client request and identifies the object that satisfies the client "
+"request. The Object is then invoked and the response is returned to the "
+"client."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
+#, no-c-format
+msgid "Overview of the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:45
+#, no-c-format
+msgid ""
+"The object that performs the client request is referred as a servant, which "
+"provides the implementation of the CORBA object requested by the client. A "
+"servant provides the implementation for one or more CORBA object references. "
+"To retreive a servant, each POA maintains an Active Object Map that maps all "
+"objects that have been activated in the POA to a servant. For each incoming "
+"request, the POA looks up the object reference in the Active Object Map and "
+"tries to find the responsible servant. If none is found, the request is "
+"either delegated to a default servant, or a servant manager is invoked to "
+"activate or locate an appropriate servant. In addition to the name space for "
+"the objects, which are identified by Object Ids, a POA also provides a name "
+"space for POAs. A POA is created as a child of an existing POA, which forms "
+"a hierarchy starting with the root POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
+#, no-c-format
+msgid ""
+"Each POA has a set of policies that define its characteristics. When "
+"creating a new POA, the default set of policies can be used or different "
+"values can be assigned that suit the application requirements. The POA "
+"specification defines:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
+#, no-c-format
+msgid ""
+"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
+"by the POA. Possible values are:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
+#, no-c-format
+msgid ""
+"ORB_CTRL_MODEL (default): The POA is responsible for assigning requests to "
+"threads."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:63
+#, no-c-format
+msgid "SINGLE_THREAD_MODEL: The POA processes requests sequentially"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:70
+#, no-c-format
+msgid ""
+"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
+"implemented in the POA. The lifespan policy can have the following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
+#, no-c-format
+msgid ""
+"TRANSIENT (Default) Objects implemented in the POA cannot outlive the "
+"process in which they are first created. Once the POA is deactivated, an "
+"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
+"references generated by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:80
+#, no-c-format
+msgid ""
+"PERSISTENT Objects implemented in the POA can outlive the process in which "
+"they are first created."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
+#, no-c-format
+msgid ""
+"Object ID Uniqueness policy: Allows a single servant to be shared by many "
+"abstract objects. The Object ID Uniqueness policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
+#, no-c-format
+msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
+#, no-c-format
+msgid ""
+"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
+"ID must be determined within the method being invoked at run time."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
+#, no-c-format
+msgid ""
+"ID Assignment policy: Specifies whether object IDs are generated by server "
+"applications or by the POA. The ID Assignment policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
+#, no-c-format
+msgid "USER_ID is for persistent objects, and"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:114
+#, no-c-format
+msgid "SYSTEM_ID is for transient objects."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:121
+#, no-c-format
+msgid ""
+"Servant Retention policy: Specifies whether the POA retains active servants "
+"in the Active Object Map. The Servant Retention policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
+#, no-c-format
+msgid ""
+"RETAIN (Default) The POA tracks object activations in the Active Object Map. "
+"RETAIN is usually used with ServantActivators or explicit activation methods "
+"on POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
+#, no-c-format
+msgid ""
+"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
+"NON_RETAIN is typically used with ServantLocators."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
+#, no-c-format
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:143
+#, no-c-format
+msgid ""
+"USE_ACTIVE_OBJECT_MAP (Default): If the Object ID is not listed in the "
+"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
+"also use the RETAIN policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
+#, no-c-format
+msgid ""
+"USE_DEFAULT_SERVANT: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the request is dispatched to the default "
+"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
+"is returned. The POA must also use the MULTIPLE_ID policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
+#, no-c-format
+msgid ""
+"USE_SERVANT_MANAGER: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
+"servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
+#, no-c-format
+msgid ""
+"Implicit Activation policy: Specifies whether the POA supports implicit "
+"activation of servants. The Implicit Activation policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
+#, no-c-format
+msgid ""
+"IMPLICIT_ACTIVATION: The POA supports implicit activation of servants. "
+"Servants can be activated by converting them to an object reference with "
+"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> "
+"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
+"also use the SYSTEM_ID and RETAIN policies with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
+#, no-c-format
+msgid ""
+"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
+"activation of servants."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
+#, no-c-format
+msgid ""
+"It appears that to redirect replay_completion invocations to a default "
+"servant we need to create a POA with the Request Processing policy assigned "
+"with the value set to USE_DEFAULT_SERVANT. However to reach that default "
+"Servant we should first reach the POA that forward the request to the "
+"default servant. Indeed, the ORB uses a set of information to retrieve a "
+"POA; these information are contained in the object reference used by the "
+"client. Among these information there are the IP address and the port number "
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
+#, no-c-format
+msgid "The default RecoveryCoordinator in Orbix"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:183
+#, no-c-format
+msgid ""
+"Within Orbix, objects are located by the Location Deamon. To avoid the "
+"overhead of using the location daemon, Orbix provides a mechanism named "
+"<emphasis>Direct Persistence</emphasis> allowing generating persistent "
+"object references. This mechanism is in fact a proprietary policy named, "
+"DIRECT_PERSISTENCE. A POA with policies of PERSISTENT and DIRECT_PERSISTENCE "
+"generates IORs that contain a well-known address for the server process. A "
+"POA that uses direct persistence must also tell each transport mechanism "
+"such as IIOP where in the configuration file it can find the well-known "
+"address that it should use. This is done by creating a "
+"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
+"configuration scope that contains the well-known address."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
+#, no-c-format
+msgid ""
+"To specify the address used by the <code>WellKnownAddressingPolicy</code> "
+"object, JBossTS uses the Orbix mechanism that allows specifying an ORB/POA "
+"names. The following configuration modifications are necessary to define the "
+"well-know address of the RecoveryCoordinator performing replay_completion "
+"invocation."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
+#, no-c-format
+msgid ""
+"Note that this configuration is also necessary to support transaction "
+"context propagation and interposition."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
+#, no-c-format
+msgid ""
+"A new orb name domain called arjuna should be created within the main Orbix "
+"2000 domain being used by the application. It requires the following format:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
+#, no-c-format
+msgid ""
+"arjuna\n"
+"{\n"
+" portable_interceptor\n"
+" {\n"
+" orb_plugins = [\"local_log_stream\", \"iiop_profile\", \"giop"
+"\", \"iiop\", \"portable_interceptor\"];\n"
+" \n"
+" ots_recovery_coordinator\n"
+" {\n"
+" recovery_coordinator:iiop:addr_list = [“<name>:"
+"<port>”];\n"
+" };\n"
+" \n"
+" ots_transaction\n"
+" {\n"
+" transaction:iiop:addr_list = [“+<name>:<"
+"port>”];\n"
+" }; \n"
+" ots_context\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Context\", "
+"\"OTS_Context+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Context+GIOP+IIOP\", \"GIOP"
+"+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Context\", "
+"\"\"];\n"
+" };\n"
+" \n"
+" ots_interposition\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Interposition"
+"\", \"OTS_Interposition+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Interposition+GIOP"
+"+IIOP\", \"GIOP+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Interposition"
+"\", \"\"];\n"
+" };\n"
+" };\n"
+"};"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:198
+#, no-c-format
+msgid ""
+"The <name> field should be substituted by the name of the machine on "
+"which JBossTS is being run. The <port> field should be an unused port "
+"on which the JBossTS recovery manager may listen for recovery requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
+#, no-c-format
+msgid ""
+"Because of the way in which Orbix works with persistent POAs, if you want "
+"crash recovery support for your applications you must use one of the Arjuna "
+"ORB names provided (context or interposition) when running your clients and "
+"services. When using transaction context propagation only, the<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> parameter should "
+"be passed to the client and server. When using context propagation and "
+"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
+"ots_interposition</parameter> parameter should be used. For example:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
+#, no-c-format
+msgid "java mytest –ORBname arjuna.portable_interceptor.ots_context"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:206
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:287
+#, no-c-format
+msgid "How it works"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:207
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application. The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs all replay_invocations requests."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
+#, no-c-format
+msgid ""
+"The Recovery Manager and the creation of the default servant for "
+"RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
+#, no-c-format
+msgid ""
+"There is one recovery Manager Process per machine, then one default servant "
+"per machine. Performing all replay_completion invocations means those made "
+"on the same machine."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
+#, no-c-format
+msgid ""
+"When started, the application, using JBossTS in library mode, is launched a "
+"child POA is created with the same policies as those defined within the "
+"Recovery Manager. This child POA is used to create object references, for "
+"RecoveryCoordinator CORBA objects, that need to be returned on "
+"register_resource invocations, as illustrated in figure below. The Object "
+"reference created has an Object ID that contains the transaction ID in "
+"progress and the Process Identifier of the application."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
+#, no-c-format
+msgid ""
+"If the Transaction Service is used in the stand-alone mode, the behavior to "
+"create object reference to RecoveryCoordinator objects is exactly the same; "
+"the process ID used in the Object ID is the Transaction Service process ID"
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
+#, no-c-format
+msgid ""
+"Having the object reference of the RecoveryCoordinator, an application can "
+"use it to determine the status of the transaction for which that object "
+"reference is created. When a RecoveryCoordinator, according to POA policies "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
+"described in the figure below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
+#, no-c-format
+msgid "The flow described in the figure can be depicted as follow:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:250
+#, no-c-format
+msgid ""
+"The participant invokes the replay_completion operation on "
+"RecoveryCoordinator object using the object reference returned by the "
+"Transaction Server."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
+#, no-c-format
+msgid ""
+"The request is forwarded to the Recovery Manager process since the Well-"
+"known-address policy is used to retrieve."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
+#, no-c-format
+msgid "The child POA responsible to locate the servant is retrieved."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:265
+#, no-c-format
+msgid ""
+"After looking to the Active Object Map, the child POA invokes the default "
+"servant to perform the request. Note that the Object ID conveyed by the "
+"object reference is not retrieved in the AOP."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
+#, no-c-format
+msgid ""
+"The servant extracts from the request the Object ID that contains the "
+"Transaction ID and the process ID of the Transaction Server process. To "
+"determine if the process still alive, the TransactionStatusConnectionManager "
+"functionalities are used."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
+#, no-c-format
+msgid ""
+"According to the presence or not of the Transaction Server process and "
+"eventually the returned status, the servant returns the status of the "
+"transaction asked by the participant."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
+#, no-c-format
+msgid "The default RecoveryCoordinator in JacOrb"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:283
+#, no-c-format
+msgid ""
+"JacORB does not define additional policies to redirect any request on a "
+"RecoveryCoordinator object to a default servant located in the Recovery "
+"Manager process. However it provides a set of APIs that allows building "
+"object references with specific IP address, port number and POA name in "
+"order to reach the appropriate default servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager ) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application (JacORB). The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs replay_completion invocations requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
+#, no-c-format
+msgid ""
+"In addition to the creation of the default servant, an object reference to a "
+"<code>RecoveryCoordinator</code> object is created and stored in the "
+"ObjectStore. As we will see this object reference will be used to obtain its "
+"IP address, port number and POA name and assign them to any "
+"<code>RecoveryCoordinator</code> object reference created on "
+"register_resource."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
+#, no-c-format
+msgid ""
+"When an application registers a resource with a transaction, a "
+"<code>RecoveryCoordinator</code> object reference is expected to be "
+"returned. To build that object reference, the Transaction Service uses the "
+"RecoveryCoordinator object reference created within the Recovery Manager as "
+"a template. The new object reference contains practically the same "
+"information to retrieve the default servant (IP address, port number, POA "
+"name, etc.), but the Object ID is changed; now, it contains the Transaction "
+"ID of the transaction in progress and also the Process ID of the process "
+"that is creating the new <code>RecoveryCoordinator</code> object reference, "
+"as illustrated below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference "
+"build from a reference stored in the ObjectStore."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
+#, no-c-format
+msgid ""
+"Since a <code>RecoveryCoordintaor</code> object reference returned to an "
+"application contains all information to retrieve the POA then the default "
+"servant located in the Recovery Manager, all replay_completion invocation, "
+"per machine, are forwarded to the same default <code>RecoveryCoordinator</"
+"code> that is able to retreive the Object ID from the incoming request to "
+"extract the transaction identifier and the process identifier needed to "
+"determine the status of the requested transaction."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/JBoss_Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Preface.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Preface.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Preface.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Preface.xml:6
+#, no-c-format
+msgid "Preface"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Revision_History.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,26 @@
+# Language fr-FR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
+#. Tag: author
+#: Revision_History.xml:12
+#, no-c-format
+msgid "<firstname></firstname> <surname></surname> <email></email>"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/fr-FR/Transactions_Failure_Recovery_Guide.po
===================================================================
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Architecture_of_the_Recovery_Manager\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: 2008-08-14 14:19+1000\n"
"Last-Translator: Junko Ito <junko.ito at rehdat.com>\n"
"Language-Team: Japanese <ja at li.org>\n"
@@ -34,7 +34,8 @@
msgid ""
"The main architectural components within Crash Recovery are illustrated in "
"the diagram below:"
-msgstr "下図は、Crash Recovery 内の主なアーキテクチャのコンポーネントを表しています。"
+msgstr ""
+"下図は、Crash Recovery 内の主なアーキテクチャのコンポーネントを表しています。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:17
@@ -47,7 +48,14 @@
"the commit phase to the Object Store. On successfully committing a "
"transaction this data is removed, however if the transaction fails then this "
"data remains within the Object Store."
-msgstr "Recovery Manager とは、クラッシュリカバリを実行するデーモンプロセスのことです。ノードごとに 1 つの Recovery Manager のみが実行されます。Object Store は、データのログを記録するため、トランザクションに対して永続データストレージを提供します。通常のトランザクションプロセスでは、各トランザクションがコミット段階で必要な永続データを Object Store にログします。トランザクションが無事コミットされると、このデータは削除されますが、トランザクションが失敗すると、このデータは Object Store 内に保持されます。"
+msgstr ""
+"Recovery Manager とは、クラッシュリカバリを実行するデーモンプロセスのことで"
+"す。ノードごとに 1 つの Recovery Manager のみが実行されます。Object Store "
+"は、データのログを記録するため、トランザクションに対して永続データストレージ"
+"を提供します。通常のトランザクションプロセスでは、各トランザクションがコミッ"
+"ト段階で必要な永続データを Object Store にログします。トランザクションが無事"
+"コミットされると、このデータは削除されますが、トランザクションが失敗すると、"
+"このデータは Object Store 内に保持されます。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:20
@@ -63,7 +71,10 @@
"failed. Failed transactions are indicated by the presence of log data after "
"a period of time that the transaction would have normally been expected to "
"finish."
-msgstr "失敗したトランザクションがないか Object Store を定期的にスキャンします。トランザクションが通常終了する時間の後にログデータが存在する場合、トランザクションが失敗したことを示しています。"
+msgstr ""
+"失敗したトランザクションがないか Object Store を定期的にスキャンします。トラ"
+"ンザクションが通常終了する時間の後にログデータが存在する場合、トランザクショ"
+"ンが失敗したことを示しています。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:30
@@ -71,7 +82,9 @@
msgid ""
"Checking with the application process which originated the transaction "
"whether the transaction is still in progress or not."
-msgstr "トランザクションが発生したアプリケーションプロセスをチェックし、トランザクションが実行中であるか確認します。"
+msgstr ""
+"トランザクションが発生したアプリケーションプロセスをチェックし、トランザク"
+"ションが実行中であるか確認します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:35
@@ -79,13 +92,17 @@
msgid ""
"Recovering the transaction by re-activating the transaction and then "
"replaying phase two of the commit protocol."
-msgstr "トランザクションを再度アクティブにしてから、コミットプロトコルのフェーズ 2 を再生し、トランザクションをリカバリします。"
+msgstr ""
+"トランザクションを再度アクティブにしてから、コミットプロトコルのフェーズ 2 を"
+"再生し、トランザクションをリカバリします。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:40
#, no-c-format
-msgid "The following sections describe the architectural components in more detail"
-msgstr "アーキテクチャのコンポーネントについての詳細は、次の項を参照してください。"
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+"アーキテクチャのコンポーネントについての詳細は、次の項を参照してください。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:46
@@ -100,7 +117,10 @@
"On initialization the Recovery Manager first loads in configuration "
"information via a properties file. This configuration includes a number of "
"recovery activators and recovery modules, which are then dynamically loaded."
-msgstr "初期化の際、Recovery Manager は最初に設定情報をプロパティファイルよりロードします。この設定には、動的にロードされるリカバリアクティベータの数やリカバリモジュールの数が含まれています。"
+msgstr ""
+"初期化の際、Recovery Manager は最初に設定情報をプロパティファイルよりロードし"
+"ます。この設定には、動的にロードされるリカバリアクティベータの数やリカバリモ"
+"ジュールの数が含まれています。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:50
@@ -117,10 +137,15 @@
"create a RecoveryCoordinator object able to respond to the replay_completion "
"operation."
msgstr ""
-"JBossTS バージョン3.0 より、Recovery Manager は Object Request Broker (ORB) には明確に拘束されなくなりました。そのため、OTS リカバリプロトコルは暗黙的に有効になっていません。このプロトコルを有効にするには、"
-"<interfacename>RecoveryActivator</interfacename> インターフェイスで定義されるリカバリアクティベータの概念を使用します。<interfacename>RecoveryActivator</interfacename> は基礎の通信プロトコルに関係するリカバリクラスをインスタンス化します。例えば、"
-"<interfacename>RecoveryActivitor</interfacename> を OTS と使用すると、replay_completion "
-"操作に応答できる RecoveryCoordinator オブジェクトを作成します。"
+"JBossTS バージョン3.0 より、Recovery Manager は Object Request Broker (ORB) "
+"には明確に拘束されなくなりました。そのため、OTS リカバリプロトコルは暗黙的に"
+"有効になっていません。このプロトコルを有効にするには、"
+"<interfacename>RecoveryActivator</interfacename> インターフェイスで定義される"
+"リカバリアクティベータの概念を使用します。<interfacename>RecoveryActivator</"
+"interfacename> は基礎の通信プロトコルに関係するリカバリクラスをインスタンス化"
+"します。例えば、<interfacename>RecoveryActivitor</interfacename> を OTS と使"
+"用すると、replay_completion 操作に応答できる RecoveryCoordinator オブジェクト"
+"を作成します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:53
@@ -129,7 +154,11 @@
"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
"same interface. They are loaded via the following recovery extension "
"property:"
-msgstr "すべての <interfacename>RecoveryActivator</interfacename> インスタンスは同じインターフェイスを継承します。<interfacename>RecoveryActivator</interfacename> インスタンスは、次のリカバリ拡張プロパティによってロードされます。"
+msgstr ""
+"すべての <interfacename>RecoveryActivator</interfacename> インスタンスは同じ"
+"インターフェイスを継承します。<interfacename>RecoveryActivator</"
+"interfacename> インスタンスは、次のリカバリ拡張プロパティによってロードされま"
+"す。"
#. Tag: screen
#: Architecture_of_the_Recovery_Manager.xml:56
@@ -149,7 +178,9 @@
msgid ""
"For instance the <interfacename>RecoveryActivator</interfacename> provided "
"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
-msgstr "例えば、コメントされない JTS/OTS のディストリビューション内で提供される <interfacename>RecoveryActivator</interfacename> は次のようになります。"
+msgstr ""
+"例えば、コメントされない JTS/OTS のディストリビューション内で提供される "
+"<interfacename>RecoveryActivator</interfacename> は次のようになります。"
#. Tag: screen
#: Architecture_of_the_Recovery_Manager.xml:60
@@ -172,7 +203,13 @@
"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 "すべての <interfacename>RecoveryActivator</interfacename> インスタンスがロードされると、<methodname>startRCservice</methodname> メソッドを提供します。<methodname>startRCservice</methodname> メソッドは、Recovery Manager により呼び出され、特定のトランザクションプロトコルに基づいてリカバリ要求を受信できる Recovery Component を作成するために使用されます。RecoveryCoordinator は OTS プロトコルによって定義されます。"
+msgstr ""
+"すべての <interfacename>RecoveryActivator</interfacename> インスタンスがロー"
+"ドされると、<methodname>startRCservice</methodname> メソッドを提供します。"
+"<methodname>startRCservice</methodname> メソッドは、Recovery Manager により呼"
+"び出され、特定のトランザクションプロトコルに基づいてリカバリ要求を受信できる "
+"Recovery Component を作成するために使用されます。RecoveryCoordinator は OTS "
+"プロトコルによって定義されます。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:64
@@ -180,7 +217,9 @@
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 ""
+"各リカバリモジュールは、異なるタイプのトランザクション/リソースをリカバリす"
+"るために使用されますが、各リカバリモジュールは同じ基本動作を継承します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:67
@@ -193,7 +232,14 @@
"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 "リカバリは、2 つのタイムアウト期間によって分けられた 2 つの受け渡し (pass) /フェーズによって構成されます。最初の受け渡しは、失敗した可能性があるトランザクションがあるか判断するため、オブジェクトストアを調べます。2 番目の受け渡しは失敗したトランザクションに対してクラッシュリカバリを実行します。最初の受け渡しと 2 番目の受け渡しの間に生じるタイムアウトはバックオフ期間と呼ばれ、2 番目の受け渡しの終了時と最初の受け渡しの開始時の間に生じるタイムアウトはリカバリ期間と呼ばれます。リカバリ期間はバックオフ期間よりも長くなります。"
+msgstr ""
+"リカバリは、2 つのタイムアウト期間によって分けられた 2 つの受け渡し (pass) /"
+"フェーズによって構成されます。最初の受け渡しは、失敗した可能性があるトランザ"
+"クションがあるか判断するため、オブジェクトストアを調べます。2 番目の受け渡し"
+"は失敗したトランザクションに対してクラッシュリカバリを実行します。最初の受け"
+"渡しと 2 番目の受け渡しの間に生じるタイムアウトはバックオフ期間と呼ばれ、2 番"
+"目の受け渡しの終了時と最初の受け渡しの開始時の間に生じるタイムアウトはリカバ"
+"リ期間と呼ばれます。リカバリ期間はバックオフ期間よりも長くなります。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:70
@@ -203,7 +249,11 @@
"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 "Recovery Manager は各リカバリモジュールで最初の受け渡しを呼び出し、バックオフ期間のタイムアウトを適応します。そして、各リカバリモジュールで 2 番目の受け渡しを呼び出し、リカバリ期間のタイムアウトを適応してから、最初の受け渡しを再度開始します。"
+msgstr ""
+"Recovery Manager は各リカバリモジュールで最初の受け渡しを呼び出し、バックオフ"
+"期間のタイムアウトを適応します。そして、各リカバリモジュールで 2 番目の受け渡"
+"しを呼び出し、リカバリ期間のタイムアウトを適応してから、最初の受け渡しを再度"
+"開始します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:73
@@ -229,7 +279,8 @@
msgid ""
"The backoff period and recovery period are set using the following "
"properties:"
-msgstr "バックオフ期間およびリカバリ期間は、次のプロパティによって設定されます。"
+msgstr ""
+"バックオフ期間およびリカバリ期間は、次のプロパティによって設定されます。"
#. Tag: screen
#: Architecture_of_the_Recovery_Manager.xml:80
@@ -263,13 +314,16 @@
msgid ""
"RecoveryManager: The daemon process that starts up by instantiating an "
"instance of the RecoveryManagerImple class."
-msgstr "RecoveryManager: RecoveryManagerImple クラスのインスタンスをインスタンス化することで起動するデーモンプロセスです。"
+msgstr ""
+"RecoveryManager: RecoveryManagerImple クラスのインスタンスをインスタンス化す"
+"ることで起動するデーモンプロセスです。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:96
#, no-c-format
msgid "RecoveryEnvironment: Properties used by the recovery manager."
-msgstr "RecoveryEnvironment: リカバリマネージャによって使用されるプロパティです。"
+msgstr ""
+"RecoveryEnvironment: リカバリマネージャによって使用されるプロパティです。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:101
@@ -277,13 +331,16 @@
msgid ""
"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
"file. (for instance, RecoveryManager-properties.xml)"
-msgstr "RecoveryConfiguration: Recovery Manager プロパティファイルの名前を指定します (例:RecoveryManager-properties.xml)。"
+msgstr ""
+"RecoveryConfiguration: Recovery Manager プロパティファイルの名前を指定します "
+"(例: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 "<package>com.arjuna.ats.internal.ts.arjuna.recovery</package> パッケージ:"
+msgstr ""
+"<package>com.arjuna.ats.internal.ts.arjuna.recovery</package> パッケージ:"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:113
@@ -293,8 +350,8 @@
"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
"thread."
msgstr ""
-"RecoveryManagerImple: "
-"RecActivatorLoader や PeriodicRecovery スレッド、ExpiryEntryMonitor スレッドのインスタンスを作成し、開始します。"
+"RecoveryManagerImple: RecActivatorLoader や PeriodicRecovery スレッド、"
+"ExpiryEntryMonitor スレッドのインスタンスを作成し、開始します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:118
@@ -303,7 +360,10 @@
"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 "RecActivatorLoader: Recovery Manager プロパティファイルに指定された RecoveryActivator を動的にロードします。各 RecoveryActicator はプロパティファイルのリカバリ拡張として指定されます。"
+msgstr ""
+"RecActivatorLoader: Recovery Manager プロパティファイルに指定された "
+"RecoveryActivator を動的にロードします。各 RecoveryActicator はプロパティファ"
+"イルのリカバリ拡張として指定されます。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:123
@@ -313,7 +373,11 @@
"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 "PeriodicRecovery: 各リカバリモジュールをロードするスレッドです。ロードした後、各モジュールの最初の受け渡しを呼び出してバックオフ期間のタイムアウトを適応し、その後、各モジュールの 2 番目の受け渡しを呼び出してリカバリ期間のタイムアウトを適応します。"
+msgstr ""
+"PeriodicRecovery: 各リカバリモジュールをロードするスレッドです。ロードした"
+"後、各モジュールの最初の受け渡しを呼び出してバックオフ期間のタイムアウトを適"
+"応し、その後、各モジュールの 2 番目の受け渡しを呼び出してリカバリ期間のタイム"
+"アウトを適応します。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:128
@@ -325,9 +389,10 @@
"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
"AtomicActionRecoveryModule)."
msgstr ""
-"RecoveryClassLoader: Recovery Manager プロパティファイルに指定されたリカバリモジュールを動的にロードします。各モジュールはプロパティファイルのリカバリ拡張として指定されます (例:com.arjuna.ats.arjuna."
-"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
-"AtomicActionRecoveryModule)。"
+"RecoveryClassLoader: Recovery Manager プロパティファイルに指定されたリカバリ"
+"モジュールを動的にロードします。各モジュールはプロパティファイルのリカバリ拡"
+"張として指定されます (例:com.arjuna.ats.arjuna.recovery.recoveryExtension1= "
+"com.arjuna.ats.internal.ts.arjuna.recovery.AtomicActionRecoveryModule)。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:136
@@ -336,7 +401,10 @@
"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 "デフォルトでは、リカバリマネージャはマシン上で最初に利用可能なポートをリッスンします。リカバリマネージャが使用するポート番号を指定するには、com.arjuna.ats.arjuna.recovery.recoveryPort 属性を使用して指定します。"
+msgstr ""
+"デフォルトでは、リカバリマネージャはマシン上で最初に利用可能なポートをリッス"
+"ンします。リカバリマネージャが使用するポート番号を指定するには、com.arjuna."
+"ats.arjuna.recovery.recoveryPort 属性を使用して指定します。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:141
@@ -354,8 +422,11 @@
"arjuna.recovery.RecoveryManager. A RecoveryManager can be created in one of "
"two modes, selected via the parameter to the manager method:"
msgstr ""
-"場合によっては、同じプロセスで Recoverymanager をトランザクションサービスとして組み込む必要があることがあります。この場合、com.arjuna.ats."
-"arjuna.recovery.RecoveryManager のマネージャメソッドにて RecoveryManager のインスタンスを作成することができます。RecoveryManager は 2 つのモードの 1 つで作成することができ、マネージャメソッドへのパラメータを使用して選択します:"
+"場合によっては、同じプロセスで Recoverymanager をトランザクションサービスとし"
+"て組み込む必要があることがあります。この場合、com.arjuna.ats.arjuna.recovery."
+"RecoveryManager のマネージャメソッドにて RecoveryManager のインスタンスを作成"
+"することができます。RecoveryManager は 2 つのモードの 1 つで作成することがで"
+"き、マネージャメソッドへのパラメータを使用して選択します:"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:148
@@ -364,7 +435,9 @@
"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 "INDIRECT_MANAGEMENT: マネージャは周期的に実行されますが、下記のように、スキャン操作または RecoveryDrive によって必要な時に実行を指示できます。"
+msgstr ""
+"INDIRECT_MANAGEMENT: マネージャは周期的に実行されますが、下記のように、スキャ"
+"ン操作または RecoveryDrive によって必要な時に実行を指示できます。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:153
@@ -372,7 +445,9 @@
msgid ""
"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
"directly via the scan operation or RecoveryDriver."
-msgstr "DIRECT_MANAGEMENT: マネージャは周期的に実行されず、スキャン操作または RecoveryDriver より直接指示されなければなりません。"
+msgstr ""
+"DIRECT_MANAGEMENT: マネージャは周期的に実行されず、スキャン操作または "
+"RecoveryDriver より直接指示されなければなりません。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:159
@@ -387,7 +462,10 @@
"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 "前述の通り、リカバリは通常定期的な間隔で実行されます。直接リカバリを実行する必要がある場合、RecoveryManager がどのように作成されたかにより、2 つの方法から選択します。"
+msgstr ""
+"前述の通り、リカバリは通常定期的な間隔で実行されます。直接リカバリを実行する"
+"必要がある場合、RecoveryManager がどのように作成されたかにより、2 つの方法か"
+"ら選択します。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:165
@@ -405,8 +483,10 @@
"recovery.RecoveryDriver class to do likewise. There are two types of "
"recovery scan available:"
msgstr ""
-"com.arjuna.ats.arjuna.tools.RecoveryMonitor プログラムを使用するか、com.arjuna.ats.arjuna."
-"recovery.RecoveryDriver クラスのインスタンスを作成して、リカバリを実行するよう指示するメッセージを Recovery Manager に送信します。使用できるリカバリスキャンは次の 2 つになります。"
+"com.arjuna.ats.arjuna.tools.RecoveryMonitor プログラムを使用するか、com."
+"arjuna.ats.arjuna.recovery.RecoveryDriver クラスのインスタンスを作成して、リ"
+"カバリを実行するよう指示するメッセージを Recovery Manager に送信します。使用"
+"できるリカバリスキャンは次の 2 つになります。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:172
@@ -414,7 +494,9 @@
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 "ASYNC_SCAN: リカバリの実行を指示するメッセージが RecoveryManager へ送信されますが、応答はリカバリが終了する前に返されます。"
+msgstr ""
+"ASYNC_SCAN: リカバリの実行を指示するメッセージが RecoveryManager へ送信されま"
+"すが、応答はリカバリが終了する前に返されます。"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:177
@@ -422,7 +504,9 @@
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 "SYNC: リカバリの実行を指示するメッセージが RecoveryManager へ送信され、応答はリカバリが終了した後のみ発生します。"
+msgstr ""
+"SYNC: リカバリの実行を指示するメッセージが RecoveryManager へ送信され、応答は"
+"リカバリが終了した後のみ発生します。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:183
@@ -438,7 +522,10 @@
"returns only when recovery has completed. However, if you wish to have an "
"asynchronous interaction pattern, then the RecoveryScan interface is "
"provided:"
-msgstr "RecoveryManager 上でスキャン操作を呼び出せます。この操作はリカバリが終了した時にのみ返されます。非同期の対話パターンを使用する場合は、RecoveryScan インターフェイスが提供されます。"
+msgstr ""
+"RecoveryManager 上でスキャン操作を呼び出せます。この操作はリカバリが終了した"
+"時にのみ返されます。非同期の対話パターンを使用する場合は、RecoveryScan イン"
+"ターフェイスが提供されます。"
#. Tag: screen
#: Architecture_of_the_Recovery_Manager.xml:188
@@ -461,7 +548,10 @@
"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 ""
+"このインターフェイスをサポートするオブジェクトのインスタンスをスキャン操作へ"
+"渡すことができます。また、リカバリが終了すると、完了したメソッドが呼び出され"
+"ますが、スキャン操作は即座に返されます。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:195
@@ -480,8 +570,12 @@
"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
"Manager."
msgstr ""
-"各リカバリモジュールは異なるタイプのトランザクション/リソースをリカバリするために使用されますが、各モジュールは次の RecoveryModule インターフェイスを実装しなければなりません。この RecoveryModule インターフェイスは、Recovery Manager によって呼び出される <methodname>periodicWorkFirstPass</methodname> および "
-"<methodname>periodicWorkSecondPass</methodname> の 2 つのメソッドを定義します。"
+"各リカバリモジュールは異なるタイプのトランザクション/リソースをリカバリする"
+"ために使用されますが、各モジュールは次の RecoveryModule インターフェイスを実"
+"装しなければなりません。この RecoveryModule インターフェイスは、Recovery "
+"Manager によって呼び出される <methodname>periodicWorkFirstPass</methodname> "
+"および <methodname>periodicWorkSecondPass</methodname> の 2 つのメソッドを定"
+"義します。"
#. Tag: screen
#: Architecture_of_the_Recovery_Manager.xml:199
@@ -534,8 +628,10 @@
"transactional tree. The provided classes (that all implements the "
"<interfacename>RecoveryModule</interfacename> interface) are:"
msgstr ""
-"JBossTS は、参加者の性質やトランザクションツリーにおける場所に基づいてリカバリを管理する一連のリカバリモジュールを提供します。提供されるクラスは次の通りです (すべて "
-"<interfacename>RecoveryModule</interfacename> インターフェイスを実装します)。"
+"JBossTS は、参加者の性質やトランザクションツリーにおける場所に基づいてリカバ"
+"リを管理する一連のリカバリモジュールを提供します。提供されるクラスは次の通り"
+"です (すべて <interfacename>RecoveryModule</interfacename> インターフェイスを"
+"実装します)。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:209
@@ -564,8 +660,10 @@
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:225
#, no-c-format
-msgid "com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
-msgstr "com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
#. Tag: para
#: Architecture_of_the_Recovery_Manager.xml:226
@@ -573,7 +671,9 @@
msgid ""
"Recovers JTS Transactions. This is a generic class from which TopLevel and "
"Server transaction recovery modules inherit, respectively"
-msgstr "JTS トランザクションをリカバリします。以下は、TopLevel および Server トランザクションリカバリモジュールがそれぞれ継承する汎用クラスになります。"
+msgstr ""
+"JTS トランザクションをリカバリします。以下は、TopLevel および Server トランザ"
+"クションリカバリモジュールがそれぞれ継承する汎用クラスになります。"
#. Tag: title
#: Architecture_of_the_Recovery_Manager.xml:233
@@ -585,8 +685,14 @@
"com.arjuna.ats.internal.jts.recovery.transactions."
"TopLevelTransactionRecoveryModule"
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, fuzzy, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr "AtomicAction トランザクションをリカバリします。"
+
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:240
+#: Architecture_of_the_Recovery_Manager.xml:241
#, no-c-format
msgid ""
"com.arjuna.ats.internal.jts.recovery.transactions."
@@ -596,28 +702,37 @@
"ServerTransactionRecoveryModule"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:246
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, fuzzy, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr "AtomicAction トランザクションをリカバリします。"
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
#, no-c-format
msgid ""
"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 "リカバリモジュールの動作を説明するため、次の擬似コードで Atomic Action トランザクションおよび Java の Tranactional Object に使用される基本アルゴリズムを表します。"
+msgstr ""
+"リカバリモジュールの動作を説明するため、次の擬似コードで Atomic Action トラン"
+"ザクションおよび Java の Tranactional Object に使用される基本アルゴリズムを表"
+"します。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:250
+#: Architecture_of_the_Recovery_Manager.xml:252
#, no-c-format
msgid "AtomicAction pseudo code"
msgstr "AtomicAction の擬似コード"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:251
+#: Architecture_of_the_Recovery_Manager.xml:253
#, no-c-format
msgid "First Pass:"
msgstr "最初の受け渡し:"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:255
+#: Architecture_of_the_Recovery_Manager.xml:257
#, no-c-format
msgid ""
"< create a transaction vector for transaction Uids. >\n"
@@ -628,21 +743,22 @@
"end while."
msgstr ""
"< トランザクション UID のトランザクションベクトルを作成する >\n"
-"< トランザクションタイプ AtomicAction のすべてのトランザクションを読み取る >\n"
+"< トランザクションタイプ AtomicAction のすべてのトランザクションを読み取"
+"る >\n"
"while < トランザクションのベクトル内にトランザクションがある >\n"
"do\n"
" < トランザクションのベクトルにトランザクションを追加する >\n"
"end while."
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:256
-#: Architecture_of_the_Recovery_Manager.xml:265
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
#, no-c-format
msgid "Second Pass:"
msgstr "2 番目の受け渡し:"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:259
+#: Architecture_of_the_Recovery_Manager.xml:261
#, no-c-format
msgid ""
"while < there are transactions in the transaction vector >\n"
@@ -663,7 +779,8 @@
"do\n"
" if < トランザクションの意図リストがまだ存在する >\n"
" then\n"
-" < トランザクションがキャッシュした新しい項目を作成する >\n"
+" < トランザクションがキャッシュした新しい項目を作成する "
+">\n"
" < トランザクションの状況を取得する >\n"
" \n"
" if < トランザクションが実行中でない >\n"
@@ -674,19 +791,19 @@
"end while."
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:261
+#: Architecture_of_the_Recovery_Manager.xml:263
#, no-c-format
msgid "Transactional Object pseudo code"
msgstr "Transactional Object の擬似コード"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:262
+#: Architecture_of_the_Recovery_Manager.xml:264
#, no-c-format
msgid "First Pass"
msgstr "最初の受け渡し"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:264
+#: Architecture_of_the_Recovery_Manager.xml:266
#, no-c-format
msgid ""
"< Create a hash table for uncommitted transactional objects. >\n"
@@ -701,18 +818,22 @@
" end if.\n"
"end while."
msgstr ""
-"< コミットされていないトランザクションオブジェクト用のハッシュテーブルを作成する >\n"
-"< オブジェクトストア内ですべてのトランザクションオブジェクトを読み込む >\n"
+"< コミットされていないトランザクションオブジェクト用のハッシュテーブルを作"
+"成する >\n"
+"< オブジェクトストア内ですべてのトランザクションオブジェクトを読み込む "
+">\n"
"while < トランザクションオブジェクトがある >\n"
"do\n"
-" if < トランザクションオブジェクトがオブジェクトストア内で Uncommited 状態 >\n"
+" if < トランザクションオブジェクトがオブジェクトストア内で "
+"Uncommited 状態 >\n"
" then\n"
-" < トランザクションオブジェクトをコミットされていないトランザクションオブジェクト用のハッシュテーブルに追加する >\n"
+" < トランザクションオブジェクトをコミットされていないトラン"
+"ザクションオブジェクト用のハッシュテーブルに追加する >\n"
" end if.\n"
"end while."
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:268
+#: Architecture_of_the_Recovery_Manager.xml:270
#, no-c-format
msgid ""
"while < there are transactions in the hash table for uncommitted "
@@ -734,39 +855,46 @@
" endif.\n"
"end while."
msgstr ""
-"while < コミットされていないトランザクションオブジェクト用のハッシュテーブルにトランザクションがある >\n"
+"while < コミットされていないトランザクションオブジェクト用のハッシュテーブ"
+"ルにトランザクションがある >\n"
"do\n"
" if < トランザクションがまだ Uncommitted 状態 >\n"
" then\n"
-" if < トランザクションが Transaction Cache にない "
-">\n"
+" if < トランザクションが Transaction Cache にない >\n"
" then\n"
-" < 元のアプリケーションプロセスでトランザクションの状況をチェックする >\n"
-" if < トランザクションが Rolled Back 状態またはアプリケーションプロセスが非アクティブ >\n"
-" < Object Store より Uncommitted 状態を削除してトランザクションをロールバックする >\n"
+" < 元のアプリケーションプロセスでトランザクションの"
+"状況をチェックする >\n"
+" if < トランザクションが Rolled Back 状態またはアプ"
+"リケーションプロセスが非アクティブ >\n"
+" < Object Store より Uncommitted 状態を削除"
+"してトランザクションをロールバックする >\n"
" endif.\n"
" endif.\n"
" endif.\n"
"end while."
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:270
+#: Architecture_of_the_Recovery_Manager.xml:272
#, no-c-format
msgid "A Recovery Module for XA Resources"
msgstr "XA リソースのリカバリモジュール"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:271
+#: Architecture_of_the_Recovery_Manager.xml:273
#, no-c-format
msgid ""
"To manage recovery, we have seen in the previous chapter that the Recovery "
"Manager triggers a recovery process by calling a set of recovery modules "
"that implements the two methods defined by the "
"<interfacename>RecoveryModule</interfacename> interface."
-msgstr "前の項で説明した通り、Recovery Manager は <interfacename>RecoveryModule</interfacename> インターフェイスで定義された 2 つのメソッドを実装する一連のリカバリモジュールを呼び出し、リカバリ処理をトリガすることで、リカバリを管理します。"
+msgstr ""
+"前の項で説明した通り、Recovery Manager は <interfacename>RecoveryModule</"
+"interfacename> インターフェイスで定義された 2 つのメソッドを実装する一連のリ"
+"カバリモジュールを呼び出し、リカバリ処理をトリガすることで、リカバリを管理し"
+"ます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:275
+#: Architecture_of_the_Recovery_Manager.xml:277
#, no-c-format
msgid ""
"To enable recovery of participants controlled via the <interfacename>XA</"
@@ -777,24 +905,29 @@
"<interfacename>XA</interfacename> resources (for example, databases) used in "
"JTA."
msgstr ""
-"<interfacename>XA</"
-"interfacename> インターフェイスによって制御される参加者のリカバリを有効にするため、専用のリカバリモジュールである XARecoveryModule が提供されます。XARecoveryModule は、<package>com."
-"arjuna.ats.internal.jta.recovery.arjunacore</package> および <package>com."
-"arjuna.ats.internal.jta.recovery.jts</package> パッケージ内で定義され、JTA 内で使用される "
-"<interfacename>XA</interfacename> リソース (例:データベース) のリカバリを処理します。"
+"<interfacename>XA</interfacename> インターフェイスによって制御される参加者の"
+"リカバリを有効にするため、専用のリカバリモジュールである XARecoveryModule が"
+"提供されます。XARecoveryModule は、<package>com.arjuna.ats.internal.jta."
+"recovery.arjunacore</package> および <package>com.arjuna.ats.internal.jta."
+"recovery.jts</package> パッケージ内で定義され、JTA 内で使用される "
+"<interfacename>XA</interfacename> リソース (例:データベース) のリカバリを処"
+"理します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:279
+#: Architecture_of_the_Recovery_Manager.xml:281
#, no-c-format
msgid ""
"JBossTS supports two JTA implementations: a purely local version (no "
"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 "JBossTS は、純粋なローカルバージョン(分散トランザクションなし)と JTS 上で階層化されたバージョンの 2 つの JTA 実装をサポートしています。純粋なローカルバージョンのリカバリは簡単です。次の説明では、JTS 実装を暗黙的に考慮します。"
+msgstr ""
+"JBossTS は、純粋なローカルバージョン(分散トランザクションなし)と JTS 上で階"
+"層化されたバージョンの 2 つの JTA 実装をサポートしています。純粋なローカル"
+"バージョンのリカバリは簡単です。次の説明では、JTS 実装を暗黙的に考慮します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:283
+#: Architecture_of_the_Recovery_Manager.xml:285
#, no-c-format
msgid ""
"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
@@ -803,17 +936,19 @@
"progressed far enough for a JTA Resource Record to be written in the "
"ObjectStore, as illustrated in Figure 2."
msgstr ""
-"動作には、<emphasis>トランザクション起動</"
-"emphasis>リカバリと<emphasis>リソース起動</emphasis>リカバリの 2 つの側面があります。図 2 の通り、JTA Resource Record が ObjectStore に書き込まれる状態になるまで特定のトランザクションブランチが進行している場合、トランザクション起動リカバリを使用できます。"
+"動作には、<emphasis>トランザクション起動</emphasis>リカバリと<emphasis>リソー"
+"ス起動</emphasis>リカバリの 2 つの側面があります。図 2 の通り、JTA Resource "
+"Record が ObjectStore に書き込まれる状態になるまで特定のトランザクションブラ"
+"ンチが進行している場合、トランザクション起動リカバリを使用できます。"
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:290
+#: Architecture_of_the_Recovery_Manager.xml:292
#, no-c-format
msgid "JTA/JDBC information stored in the ObjectStore"
msgstr "ObjectStore に保存される JTA/DBC 情報"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:292
+#: Architecture_of_the_Recovery_Manager.xml:294
#, no-c-format
msgid ""
"A JTA Resource record contains the information needed to link the "
@@ -825,11 +960,16 @@
"in the JTA Resource record that allows the recreation in the RecoveryManager "
"of the XAConnection/XAResource that was used in the original application."
msgstr ""
-"JTA Resource レコードには、JBossTS が認識しているトランザクションをデータベースにリンクするために必要な情報が含まれています。データベースがトランザクションを永続的に記録した後、JTA ResourceRecord が永続化される前に障害が発生した場合、ブランチに対してリソース起動リカバリが必要となります。また、"
-"元のアプリケーションで使用された XAConnection/XAResource を RecoveryManager で再度作成できるようにする JTA Resource レコードに情報を保持できない場合、データソースに対してリソース起動リカバリが必要となります。"
+"JTA Resource レコードには、JBossTS が認識しているトランザクションをデータベー"
+"スにリンクするために必要な情報が含まれています。データベースがトランザクショ"
+"ンを永続的に記録した後、JTA ResourceRecord が永続化される前に障害が発生した場"
+"合、ブランチに対してリソース起動リカバリが必要となります。また、元のアプリ"
+"ケーションで使用された XAConnection/XAResource を RecoveryManager で再度作成"
+"できるようにする JTA Resource レコードに情報を保持できない場合、データソース"
+"に対してリソース起動リカバリが必要となります。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:296
+#: Architecture_of_the_Recovery_Manager.xml:298
#, no-c-format
msgid ""
"When running XA recovery it is necessary to tell JBossTS which types of Xid "
@@ -844,13 +984,20 @@
"property> should be alphanumeric and match the values of <property>com."
"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
msgstr ""
-"XA リカバリを実行する場合、JBossTS にリカバリできる Xid タイプを伝える必要があります。JBossTS が作成する Xid には、各 Xid 固有のノード識別子がエンコードされ、JBossTS は特定のノード識別子と一致するトランザクションや状態のみをリカバリします。名前が <property>com."
-"arjuna.ats.jta.xaRecoveryNode</property> で始まるプロパティより、使用するノード識別子を JBossTS へ提供しなければなりません。複数の値を提供することもできます。「*」を値として指定すると、ノード識別子に関係なくすべてのトランザクションをリカバリ(場合によってはロールバック)するよう JBossTS を強制することになるため、十分注意して使用するようにしてください。<property>com.arjuna.ats.jta.xaRecoveryNode</"
-"property> の内容は英数字を使用し、<property>com."
-"arjuna.ats.arjuna.xa.nodeIdentifier</property> の値と一致しなければなりません。"
+"XA リカバリを実行する場合、JBossTS にリカバリできる Xid タイプを伝える必要が"
+"あります。JBossTS が作成する Xid には、各 Xid 固有のノード識別子がエンコード"
+"され、JBossTS は特定のノード識別子と一致するトランザクションや状態のみをリカ"
+"バリします。名前が <property>com.arjuna.ats.jta.xaRecoveryNode</property> で"
+"始まるプロパティより、使用するノード識別子を JBossTS へ提供しなければなりませ"
+"ん。複数の値を提供することもできます。「*」を値として指定すると、ノード識別子"
+"に関係なくすべてのトランザクションをリカバリ(場合によってはロールバック)す"
+"るよう JBossTS を強制することになるため、十分注意して使用するようにしてくださ"
+"い。<property>com.arjuna.ats.jta.xaRecoveryNode</property> の内容は英数字を使"
+"用し、<property>com.arjuna.ats.arjuna.xa.nodeIdentifier</property> の値と一致"
+"しなければなりません。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:300
+#: Architecture_of_the_Recovery_Manager.xml:302
#, no-c-format
msgid ""
"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
@@ -862,18 +1009,22 @@
"information, database name, username, password etc., as the original "
"application."
msgstr ""
-"トランザクション起動リカバリは自動的に実行されます。XARecoveryModule がリカバリが必要な "
-"JTA Resource レコードを特定し、普通のリカバリメカニズムによって、関係しているトランザクションの状態を特定します (例:"
-"トランザクションブランチに対して RecoveryCoordinator 上で replay_completion を呼び出す)。そして、適切な XAResource を(再)作成し、コミットまたはロールバックを発行します。XAResource の作成には、元のアプリケーションと同じ情報、データベース名、ユーザー名、パスワードなどが使用されます。"
+"トランザクション起動リカバリは自動的に実行されます。XARecoveryModule がリカバ"
+"リが必要な JTA Resource レコードを特定し、普通のリカバリメカニズムによって、"
+"関係しているトランザクションの状態を特定します (例:トランザクションブランチ"
+"に対して RecoveryCoordinator 上で replay_completion を呼び出す)。そして、適切"
+"な XAResource を(再)作成し、コミットまたはロールバックを発行します。"
+"XAResource の作成には、元のアプリケーションと同じ情報、データベース名、ユー"
+"ザー名、パスワードなどが使用されます。"
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:307
+#: Architecture_of_the_Recovery_Manager.xml:309
#, no-c-format
msgid "Transaction-Initiated Recovery and XA Recovery"
msgstr "トランザクション起動リカバリと XA リカバリ "
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:309
+#: Architecture_of_the_Recovery_Manager.xml:311
#, no-c-format
msgid ""
"Resource-initiated recovery has to be specifically configured, by supplying "
@@ -886,30 +1037,37 @@
"dynamically loaded, as controlled by properties with names beginning "
"<property>com.arjuna.ats.jta.recovery.XAResourceRecovery</property>."
msgstr ""
-"リソース起動リカバリを設定するには、"
-"JBoss TS のアプリケーションがアクセスした全データベース (XADataSources) を問い合わせるために必要な情報を Recovery Manager に提供しなければなりません。図 4 の通り、各 XADataSource は <interfacename>com.arjuna.ats.jta.recovery."
-"XAResourceRecovery</interfacename> インターフェイスを実証するクラスによって処理されます。"
-"XAResourceRecovery インターフェイスを実装するクラスのインスタンスは、動的にロードされ、名前が "
-"<property>com.arjuna.ats.jta.recovery.XAResourceRecovery</property> で始まるプロパティによって制御されます。"
+"リソース起動リカバリを設定するには、JBoss TS のアプリケーションがアクセスした"
+"全データベース (XADataSources) を問い合わせるために必要な情報を Recovery "
+"Manager に提供しなければなりません。図 4 の通り、各 XADataSource は "
+"<interfacename>com.arjuna.ats.jta.recovery.XAResourceRecovery</"
+"interfacename> インターフェイスを実証するクラスによって処理されます。"
+"XAResourceRecovery インターフェイスを実装するクラスのインスタンスは、動的に"
+"ロードされ、名前が <property>com.arjuna.ats.jta.recovery.XAResourceRecovery</"
+"property> で始まるプロパティによって制御されます。"
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:316
+#: Architecture_of_the_Recovery_Manager.xml:318
#, no-c-format
msgid "Resource-initiated recovery and XA Recovery"
msgstr "リソース起動リカバリと XA リカバリ"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:319
+#: Architecture_of_the_Recovery_Manager.xml:321
#, no-c-format
msgid ""
"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
"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 "<interfacename>XAResourceRecovery</interfacename> の導入により、JBossTS 3.3 の <interfacename>XAConnectionRecovery</interfacename> は廃止されました。現在も古いインターフェイスは存在していますが、新しいインターフェイスへの移行を推奨します。"
+msgstr ""
+"<interfacename>XAResourceRecovery</interfacename> の導入により、JBossTS 3.3 "
+"の <interfacename>XAConnectionRecovery</interfacename> は廃止されました。現在"
+"も古いインターフェイスは存在していますが、新しいインターフェイスへの移行を推"
+"奨します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:323
+#: Architecture_of_the_Recovery_Manager.xml:325
#, no-c-format
msgid ""
"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
@@ -924,12 +1082,18 @@
"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 ""
-"XARecoveryModule は XAResourceRecovery の実装を使用し、目的のデータソースに対して"
-"XAResource を取得します。"
-"periodicWorkSecondPass が呼び出されると、リカバリモジュールは XAResource.recover 要求を発行します。これにより、(XA 仕様の通り)データーソースが認識する不確定状態のトランザクション識別子 (Xid) の一覧を返します。前後の受け渡し (例:periodicWorkSecondPass-es) が受け取った不確定 Xid の一覧が比較されます。両方の一覧に表示され、トランザクション起動リカバリによって JTA ResourceRecord が見つからなかった Xid は、TA ResourceRecord が書き込まれる前に発生した障害に関するトランザクションのものと見なされ、XAResource のそのトランザクションに対してロールバックが発行されます。"
+"XARecoveryModule は XAResourceRecovery の実装を使用し、目的のデータソースに対"
+"してXAResource を取得します。periodicWorkSecondPass が呼び出されると、リカバ"
+"リモジュールは XAResource.recover 要求を発行します。これにより、(XA 仕様の通"
+"り)データーソースが認識する不確定状態のトランザクション識別子 (Xid) の一覧を"
+"返します。前後の受け渡し (例:periodicWorkSecondPass-es) が受け取った不確定 "
+"Xid の一覧が比較されます。両方の一覧に表示され、トランザクション起動リカバリ"
+"によって JTA ResourceRecord が見つからなかった Xid は、TA ResourceRecord が書"
+"き込まれる前に発生した障害に関するトランザクションのものと見なされ、"
+"XAResource のそのトランザクションに対してロールバックが発行されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:326
+#: Architecture_of_the_Recovery_Manager.xml:328
#, no-c-format
msgid ""
"This double-scan mechanism is used because it is possible the Xid was "
@@ -937,10 +1101,15 @@
"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 "この 2 重スキャンメカニズムが使用される理由は、元のアプリケーションプロセスが対応する JTA_ResourceRecord を作成しようとした時に Xid がデータソースより取得される可能性があるためです。スキャンの間隔は、アプリケーションがクラッシュしない限りレコードを書き込むのに十分な時間間隔です(万が一クラッシュした場合は、ロールバックを行います)。"
+msgstr ""
+"この 2 重スキャンメカニズムが使用される理由は、元のアプリケーションプロセスが"
+"対応する JTA_ResourceRecord を作成しようとした時に Xid がデータソースより取得"
+"される可能性があるためです。スキャンの間隔は、アプリケーションがクラッシュし"
+"ない限りレコードを書き込むのに十分な時間間隔です(万が一クラッシュした場合"
+"は、ロールバックを行います)。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:329
+#: Architecture_of_the_Recovery_Manager.xml:331
#, no-c-format
msgid ""
"An <classname>XAResourceRecovery</classname> implementation class can be "
@@ -954,11 +1123,18 @@
"the string. The use made of this string is determined by the "
"<classname>XAResourceRecovery</classname> implementation class."
msgstr ""
-"データソースのリカバリに必要な情報がすべて含まれるように <classname>XAResourceRecovery</classname> 実装クラスを書くことができます。また、1 つのクラスが複数のデータソースに対応するようにすることもできます。実装クラスのコンストラクタは空のパラメータリストを持たなければなりませんが(動的にロードされるため)、インターフェイスには追加情報をストリングとして渡す初期化メソッドが含まれます。ストリングの内容はクラス名を提供するプロパティ値より取得し、最初のセミコロン以降の内容が値としてストリングに渡されます。このストリングの使用は "
-"<classname>XAResourceRecovery</classname> 実装クラスによって決定されます。"
+"データソースのリカバリに必要な情報がすべて含まれるように "
+"<classname>XAResourceRecovery</classname> 実装クラスを書くことができます。ま"
+"た、1 つのクラスが複数のデータソースに対応するようにすることもできます。実装"
+"クラスのコンストラクタは空のパラメータリストを持たなければなりませんが(動的"
+"にロードされるため)、インターフェイスには追加情報をストリングとして渡す初期"
+"化メソッドが含まれます。ストリングの内容はクラス名を提供するプロパティ値より"
+"取得し、最初のセミコロン以降の内容が値としてストリングに渡されます。このスト"
+"リングの使用は <classname>XAResourceRecovery</classname> 実装クラスによって決"
+"定されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:332
+#: Architecture_of_the_Recovery_Manager.xml:334
#, no-c-format
msgid ""
"For further details on the way to implement a class that implements the "
@@ -966,16 +1142,21 @@
"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 "<interfacename>XAResourceRecovery</interfacename> インターフェイスを実装するクラスの実装方法については、JTA プログラミングガイドの JDBC 章をご覧ください。XADataSource のリソース起動リカバリをサポートするため実装クラスが提供されます。このクラスは、独自の実装クラスを作成するためのテンプレートとして使用できます。"
+msgstr ""
+"<interfacename>XAResourceRecovery</interfacename> インターフェイスを実装する"
+"クラスの実装方法については、JTA プログラミングガイドの JDBC 章をご覧くださ"
+"い。XADataSource のリソース起動リカバリをサポートするため実装クラスが提供され"
+"ます。このクラスは、独自の実装クラスを作成するためのテンプレートとして使用で"
+"きます。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:336
+#: Architecture_of_the_Recovery_Manager.xml:338
#, no-c-format
msgid "Writing a Recovery Module"
msgstr "リカバリモジュールを書く"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:337
+#: Architecture_of_the_Recovery_Manager.xml:339
#, no-c-format
msgid ""
"In order to recover from failure, we have seen that the Recovery Manager "
@@ -991,52 +1172,64 @@
msgstr ""
"障害をリカバリするため、Recovery Manager は "
"<methodname>periodicWorkFirstPass</methodname> および "
-"<methodname>periodicWorkSecondPass</methodname> メソッドを定期的に呼び出し、リカバリモジュールに接触することを説明しました。これにより、各 Recovery Module はリカバリする必要があるリソースのタイプに基づき、リカバリを管理できるようになります。JBoss Transaction 製品には一連のリカバリモジュール (TOReceveryModule、XARecoveryModule など) が同梱されていますが、アプリケーションに適合する独自のリカバリモジュールを定義することもできます。次の例は、リカバリモジュールを作成するために必要な手順を表しています。"
+"<methodname>periodicWorkSecondPass</methodname> メソッドを定期的に呼び出し、"
+"リカバリモジュールに接触することを説明しました。これにより、各 Recovery "
+"Module はリカバリする必要があるリソースのタイプに基づき、リカバリを管理できる"
+"ようになります。JBoss Transaction 製品には一連のリカバリモジュール "
+"(TOReceveryModule、XARecoveryModule など) が同梱されていますが、アプリケー"
+"ションに適合する独自のリカバリモジュールを定義することもできます。次の例は、"
+"リカバリモジュールを作成するために必要な手順を表しています。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:340
+#: Architecture_of_the_Recovery_Manager.xml:342
#, no-c-format
msgid "A basic scenario"
msgstr "基本的なシナリオ"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:341
+#: Architecture_of_the_Recovery_Manager.xml:343
#, no-c-format
msgid ""
"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 ""
+"この例は障害をリカバリするための完全なプロセスを表すものではなく、リカバリモ"
+"ジュールの実装例になります。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:343
+#: Architecture_of_the_Recovery_Manager.xml:345
#, no-c-format
msgid ""
"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 ""
+"ここで使用されるアプリケーションは、アトミックトランザクションを作成してか"
+"ら、そのトランザクション内で参加者を登録し、最後にコミットまたはアボートを実"
+"行してトランザクションを終了します。以下を実行するため一連の引数が提供されま"
+"す。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:348
+#: Architecture_of_the_Recovery_Manager.xml:350
#, no-c-format
msgid "to decide to commit or abort the transaction,"
msgstr "トランザクションのコミットまたはアボートを決定する"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:353
+#: Architecture_of_the_Recovery_Manager.xml:355
#, no-c-format
msgid "to decide generating a crash during the commitment process."
msgstr "コミット処理の間にクラッシュを生成するか決定する"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:358
+#: 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 "アプリケーションを制御するメインクラスのコードは次の通りです。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:361
+#: Architecture_of_the_Recovery_Manager.xml:363
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -1122,50 +1315,55 @@
"}"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:362
+#: Architecture_of_the_Recovery_Manager.xml:364
#, no-c-format
msgid "The registered participant has the following behavior:"
msgstr "登録された参加者は以下のように動作します:"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:367
+#: Architecture_of_the_Recovery_Manager.xml:369
#, no-c-format
msgid ""
"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 ""
-"準備段階で、<emphasis>I’m "
-"prepared</emphasis> という簡単なメッセージをディスク上で既知のファイルに書き込みます。"
+"準備段階で、<emphasis>I’m prepared</emphasis> という簡単なメッセージをディス"
+"ク上で既知のファイルに書き込みます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:372
+#: Architecture_of_the_Recovery_Manager.xml:374
#, no-c-format
msgid ""
"During the commit phase, it writes another message - <emphasis>I’m "
"committed</emphasis>- in the same file used during prepare."
msgstr ""
-"コミット段階で、<emphasis>I’m "
-"committed</emphasis> というメッセージを準備段階で使用した同じファイルに書き込みます。"
+"コミット段階で、<emphasis>I’m committed</emphasis> というメッセージを準備段階"
+"で使用した同じファイルに書き込みます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:377
+#: Architecture_of_the_Recovery_Manager.xml:379
#, no-c-format
msgid ""
"If it receives an abort message, it removes from the disk the file used for "
"prepare if any."
-msgstr "アボートメッセージを受信した場合、準備段階で使用したファイルをディスクより削除します。"
+msgstr ""
+"アボートメッセージを受信した場合、準備段階で使用したファイルをディスクより削"
+"除します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:382
+#: Architecture_of_the_Recovery_Manager.xml:384
#, no-c-format
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 "テストに対してクラッシュの実行が決定された場合、コミット段階でクラッシュします。ファイルには <emphasis>I’m prepared</emphasis> というメッセージが保持されます。"
+msgstr ""
+"テストに対してクラッシュの実行が決定された場合、コミット段階でクラッシュしま"
+"す。ファイルには <emphasis>I’m prepared</emphasis> というメッセージが保持され"
+"ます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:387
+#: Architecture_of_the_Recovery_Manager.xml:389
#, no-c-format
msgid ""
"The main portion of the code illustrating such behavior is described "
@@ -1173,13 +1371,13 @@
msgstr "上記のように動作するコードの主要部分は次の通りです。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:391
+#: Architecture_of_the_Recovery_Manager.xml:393
#, no-c-format
msgid "The location of the file given in variable filename can be changed"
msgstr "変数 filename に指定するファイルの場所は変更可能です。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:395
+#: Architecture_of_the_Recovery_Manager.xml:397
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -1307,17 +1505,20 @@
"}"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:396
+#: Architecture_of_the_Recovery_Manager.xml:398
#, no-c-format
msgid ""
"The role of the Recovery Module in such application consists to read the "
"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 "このようなアプリケーションにおける Recovery Module の役割は、参加者の状態を保存するために使用するファイルの内容を読み込んで参加者の状況を判断し、リカバリが必要であるか否かをメッセージに表示することです。"
+msgstr ""
+"このようなアプリケーションにおける Recovery Module の役割は、参加者の状態を保"
+"存するために使用するファイルの内容を読み込んで参加者の状況を判断し、リカバリ"
+"が必要であるか否かをメッセージに表示することです。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:399
+#: Architecture_of_the_Recovery_Manager.xml:401
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -1447,17 +1648,20 @@
"}"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:400
+#: Architecture_of_the_Recovery_Manager.xml:402
#, no-c-format
msgid ""
"The recovery module should now be deployed in order to be called by the "
"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 "これで、リカバリモジュールがデプロイされたはずです。Recovery Manager による呼び出しを有効にするには、下記のように新しいプロパティを追加し、<filename>RecoveryManager-properties.xml</filename> にエントリを追加します。"
+msgstr ""
+"これで、リカバリモジュールがデプロイされたはずです。Recovery Manager による呼"
+"び出しを有効にするには、下記のように新しいプロパティを追加し、"
+"<filename>RecoveryManager-properties.xml</filename> にエントリを追加します。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:403
+#: Architecture_of_the_Recovery_Manager.xml:405
#, no-c-format
msgid ""
"<property\n"
@@ -1471,30 +1675,34 @@
" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:404
+#: Architecture_of_the_Recovery_Manager.xml:406
#, no-c-format
msgid ""
"Where <i> 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 "<i> は、ファイルに存在する発生番号の後に続く新しい番号を示しています。Recovery Manager が起動すると、追加されたリカバリモジュールが自動的にロードされます。"
+msgstr ""
+"<i> は、ファイルに存在する発生番号の後に続く新しい番号を示しています。"
+"Recovery Manager が起動すると、追加されたリカバリモジュールが自動的にロードさ"
+"れます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:408
+#: Architecture_of_the_Recovery_Manager.xml:410
#, no-c-format
msgid ""
"The source of the code can be retrieved under the trailmap directory of the "
"JBossTS installation."
-msgstr "コードのソースは、JBossTS の trailmap ディレクトリ以下より取得できます。"
+msgstr ""
+"コードのソースは、JBossTS の trailmap ディレクトリ以下より取得できます。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:413
+#: Architecture_of_the_Recovery_Manager.xml:415
#, no-c-format
msgid "Another scenario"
msgstr "他のシナリオ"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:414
+#: Architecture_of_the_Recovery_Manager.xml:416
#, no-c-format
msgid ""
"As mentioned, the basic application presented above does not present the "
@@ -1502,10 +1710,14 @@
"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 "前述の通り、上記の基本アプリケーションは障害をリカバリするための完全なプロセスではなく、リカバリモジュールの作成方法を示したものです。ここで、OTS プロトコルにおいて OTS リソースのリカバリを管理するリカバリモジュールの設定方法を考えてみましょう。"
+msgstr ""
+"前述の通り、上記の基本アプリケーションは障害をリカバリするための完全なプロセ"
+"スではなく、リカバリモジュールの作成方法を示したものです。ここで、OTS プロト"
+"コルにおいて OTS リソースのリカバリを管理するリカバリモジュールの設定方法を考"
+"えてみましょう。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:418
+#: Architecture_of_the_Recovery_Manager.xml:420
#, no-c-format
msgid ""
"To manage recovery in case of failure, the OTS specification has defined a "
@@ -1515,10 +1727,16 @@
"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 "障害のリカバリを管理するため、OTS 仕様にはリカバリプロトコルが定義されています。ダウト状態にあるトランザクションの参加者は、RecoveryCoordinate を使用してトランザクションの状態を判断することができます。参加者は、そのトランザクションの状態を基にロールバックまたはコミットの実行を決定できます。RecoveryCoordinator オブジェクトにトランザクションの状態を判断するよう要求すると、RecoveryCoordinator 上で replay_completion 操作が呼び出されます。"
+msgstr ""
+"障害のリカバリを管理するため、OTS 仕様にはリカバリプロトコルが定義されていま"
+"す。ダウト状態にあるトランザクションの参加者は、RecoveryCoordinate を使用して"
+"トランザクションの状態を判断することができます。参加者は、そのトランザクショ"
+"ンの状態を基にロールバックまたはコミットの実行を決定できます。"
+"RecoveryCoordinator オブジェクトにトランザクションの状態を判断するよう要求す"
+"ると、RecoveryCoordinator 上で replay_completion 操作が呼び出されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:421
+#: Architecture_of_the_Recovery_Manager.xml:423
#, no-c-format
msgid ""
"For each OTS Resource in a doubt status, it is well known which "
@@ -1527,10 +1745,14 @@
"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 "ダウト状態にある各 OTS Resource の場合、Resource 登録プロセス中に返された RecoveryCoordinator を呼び出して Resource が関与するトランザクションの状態を判断します。リソースごとに RecoveryCoordinator を呼び出すことで、リソースの他の情報と共に保存されます。"
+msgstr ""
+"ダウト状態にある各 OTS Resource の場合、Resource 登録プロセス中に返された "
+"RecoveryCoordinator を呼び出して Resource が関与するトランザクションの状態を"
+"判断します。リソースごとに RecoveryCoordinator を呼び出すことで、リソースの他"
+"の情報と共に保存されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:424
+#: Architecture_of_the_Recovery_Manager.xml:426
#, no-c-format
msgid ""
"A recovery module dedicated to recover OTS Resources could have the "
@@ -1543,16 +1765,24 @@
"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 "OTS Resource リカバリ専用のリカバリモジュールは次のように動作することができます。最初の受け渡しで Recovery Manager から要求があると、ダウト状態にあるリソースの一覧をディスクより取得します。2 番目の受け渡しの間、最初の受け渡しで取得したリソースがディスクに保持されている場合、これらのリソースがリカバリ対象であるとみなされます。そのため、Recovery Module は各リカバリ対象リソースに関連する RecoveryCoordinator を取得し、replay_completion 操作を呼び出します。返された状態により適切な処理が行われます(例:状態がアボートまたは非アクティブである場合はリソースをロールバックする)。"
+msgstr ""
+"OTS Resource リカバリ専用のリカバリモジュールは次のように動作することができま"
+"す。最初の受け渡しで Recovery Manager から要求があると、ダウト状態にあるリ"
+"ソースの一覧をディスクより取得します。2 番目の受け渡しの間、最初の受け渡しで"
+"取得したリソースがディスクに保持されている場合、これらのリソースがリカバリ対"
+"象であるとみなされます。そのため、Recovery Module は各リカバリ対象リソースに"
+"関連する RecoveryCoordinator を取得し、replay_completion 操作を呼び出します。"
+"返された状態により適切な処理が行われます(例:状態がアボートまたは非アクティ"
+"ブである場合はリソースをロールバックする)。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:429
+#: Architecture_of_the_Recovery_Manager.xml:431
#, no-c-format
msgid "TransactionStatusConnectionManager"
msgstr "TransactionStatusConnectionManager"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:430
+#: Architecture_of_the_Recovery_Manager.xml:432
#, no-c-format
msgid ""
"The TransactionStatusConnectionManager object is used by the recovery "
@@ -1561,12 +1791,14 @@
"TransactionStatusConnector obects each of which connects to a "
"TransactionStatusManager object in an Application Process."
msgstr ""
-"リカバリモジュールは TransactionStatusConnectionManager オブジェクトを使用してトランザクションの状態を取得します。TransactionStatusConnectionManager オブジェクトは "
-"TransactionStatusManager オブジェクトのプロキシのように動作し、"
-"アプリケーションプロセスの TransactionStatusManager オブジェクトに接続する TransactionStatusConnector オブジェクトのテーブルを維持します。"
+"リカバリモジュールは TransactionStatusConnectionManager オブジェクトを使用し"
+"てトランザクションの状態を取得します。TransactionStatusConnectionManager オブ"
+"ジェクトは TransactionStatusManager オブジェクトのプロキシのように動作し、ア"
+"プリケーションプロセスの TransactionStatusManager オブジェクトに接続する "
+"TransactionStatusConnector オブジェクトのテーブルを維持します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:433
+#: Architecture_of_the_Recovery_Manager.xml:435
#, no-c-format
msgid ""
"The transactions status is retrieved using the getTransactionStatus methods "
@@ -1578,34 +1810,49 @@
"object. The TransactionStatusConnector passes the transaction Uid/"
"transaction type to the TransactionStatusManager in order to retrieve the "
"transactions status."
-msgstr "トランザクションの状態は、トランザクション Uid とトランザクションタイプ(存在する場合)をパラメータとして取る getTransactionStatus メソッドを使用して取得します。トランザクション Uid パラメータのプロセス Uid フィールドは、Object Store にある目的の TransactionStatusManagerItem のホスト/ポートのペアをルックアップするために使用されます。ホスト/ポートのペアは、TransactionStatusConnector オブジェクトにて目的の TransactionStatusManager オブジェクトへ TCP 接続するために使用されます。トランザクションの状態を取得するため、TransactionStatusConnector はトランザクション Uid とトランザクションタイプを TransactionStatusManager に渡します。"
+msgstr ""
+"トランザクションの状態は、トランザクション Uid とトランザクションタイプ(存在"
+"する場合)をパラメータとして取る getTransactionStatus メソッドを使用して取得"
+"します。トランザクション Uid パラメータのプロセス Uid フィールドは、Object "
+"Store にある目的の TransactionStatusManagerItem のホスト/ポートのペアをルッ"
+"クアップするために使用されます。ホスト/ポートのペアは、"
+"TransactionStatusConnector オブジェクトにて目的の TransactionStatusManager オ"
+"ブジェクトへ TCP 接続するために使用されます。トランザクションの状態を取得する"
+"ため、TransactionStatusConnector はトランザクション Uid とトランザクションタ"
+"イプを TransactionStatusManager に渡します。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:438
+#: Architecture_of_the_Recovery_Manager.xml:440
#, no-c-format
msgid "Expired Scanner Thread"
msgstr "期限切れスキャナスレッド"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:439
+#: Architecture_of_the_Recovery_Manager.xml:441
#, no-c-format
msgid ""
"When the Recovery Manager initialises an expiry scanner thread "
"ExpiryEntryMonitor is created which is used to remove long dead items from "
"the ObjectStore. A number of scanner modules are dynamically loaded which "
"remove long dead items for a particular type."
-msgstr "Recovery Manager が有効期限スキャナスレッドを初期化すると、長期不要であった項目を ObjectStore より削除するため使用する ExpiryEntryMonitor が作成されます。複数のスキャナモジュールが動的にロードされ、特定タイプの長期不要項目を削除します。"
+msgstr ""
+"Recovery Manager が有効期限スキャナスレッドを初期化すると、長期不要であった項"
+"目を ObjectStore より削除するため使用する ExpiryEntryMonitor が作成されます。"
+"複数のスキャナモジュールが動的にロードされ、特定タイプの長期不要項目を削除し"
+"ます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:442
+#: Architecture_of_the_Recovery_Manager.xml:444
#, no-c-format
msgid ""
"Scanner modules are loaded at initialisation and are specified as properties "
"beginning with"
-msgstr "スキャナモジュールは初期化時にロードされ、下記で始まるプロパティとして指定されます。"
+msgstr ""
+"スキャナモジュールは初期化時にロードされ、下記で始まるプロパティとして指定さ"
+"れます。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:445
+#: Architecture_of_the_Recovery_Manager.xml:447
#, no-c-format
msgid ""
"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
@@ -1615,37 +1862,45 @@
"Class>"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:446
+#: Architecture_of_the_Recovery_Manager.xml:448
#, no-c-format
msgid ""
"All the scanner modules are called periodically to scan for dead items by "
"the ExpiryEntryMonitor thread. This period is set with the property:"
-msgstr "ExpiryEntryMonitor スレッドによって不要項目をスキャンするため、すべてのスキャナモジュールは周期的に呼び出されます。周期は次のプロパティで設定することができます。"
+msgstr ""
+"ExpiryEntryMonitor スレッドによって不要項目をスキャンするため、すべてのスキャ"
+"ナモジュールは周期的に呼び出されます。周期は次のプロパティで設定することがで"
+"きます。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:449
+#: Architecture_of_the_Recovery_Manager.xml:451
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
msgstr "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:450
+#: Architecture_of_the_Recovery_Manager.xml:452
#, no-c-format
msgid ""
"All scanners inherit the same behaviour from the java interface "
"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
-msgstr "下図の通り、すべてのスキャナは java インターフェイスの <interfacename>ExpiryScanner</interfacename> より同じ動作を継承します。"
+msgstr ""
+"下図の通り、すべてのスキャナは java インターフェイスの "
+"<interfacename>ExpiryScanner</interfacename> より同じ動作を継承します。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:458
+#: Architecture_of_the_Recovery_Manager.xml:460
#, no-c-format
msgid ""
"A scan method is provided by this interface and implemented by all scanner "
"modules, this is the method that gets called by the scanner thread."
-msgstr "スキャンメソッドはこのインターフェイスによって提供され、すべてのスキャンモジュールによって実装されます。これが、スキャナスレッドによって呼び出されるメソッドになります。"
+msgstr ""
+"スキャンメソッドはこのインターフェイスによって提供され、すべてのスキャンモ"
+"ジュールによって実装されます。これが、スキャナスレッドによって呼び出されるメ"
+"ソッドになります。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:461
+#: Architecture_of_the_Recovery_Manager.xml:463
#, no-c-format
msgid ""
"The ExpiredTransactionStatusManagerScanner removes long dead "
@@ -1654,28 +1909,30 @@
"is set by the property:"
msgstr ""
"ExpiredTransactionStatusManagerScanner は、長期不要であった "
-"TransactionStatusManagerItems を Object Store より削除します。TransactionStatusManagerItems は一定期間 Object Store で保持された後に削除されます。保持する期間は下記のプロパティで設定できます。"
+"TransactionStatusManagerItems を Object Store より削除します。"
+"TransactionStatusManagerItems は一定期間 Object Store で保持された後に削除さ"
+"れます。保持する期間は下記のプロパティで設定できます。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:464
+#: Architecture_of_the_Recovery_Manager.xml:466
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
msgstr "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:465
+#: Architecture_of_the_Recovery_Manager.xml:467
#, no-c-format
msgid "(default 12 hours)"
msgstr "(デフォルトは 12 時間です)"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:470
+#: Architecture_of_the_Recovery_Manager.xml:472
#, no-c-format
msgid "Application Process"
msgstr "アプリケーションプロセス"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:471
+#: Architecture_of_the_Recovery_Manager.xml:473
#, no-c-format
msgid ""
"This represents the user transactional program. A Local transaction (hash) "
@@ -1684,10 +1941,16 @@
"Recovery Manager needs access to the transaction tables so that it can "
"determine whether a transaction is still in progress, if so then recovery "
"does not happen."
-msgstr "アプリケーションプロセスはユーザートランザクションプログラムを示します。実行されているアプリケーションプロセス内で維持されるローカルトランザクション(ハッシュ)テーブルは、そのアプリケーションプロセスによって作成されたトランザクションの現在の状態を追跡します。Recovery Manager はトランザクションテーブルにアクセスする必要があるため、トランザクションが実行中であるか判断することができます。トランザクションが実行中の場合、リカバリは実行されません。"
+msgstr ""
+"アプリケーションプロセスはユーザートランザクションプログラムを示します。実行"
+"されているアプリケーションプロセス内で維持されるローカルトランザクション"
+"(ハッシュ)テーブルは、そのアプリケーションプロセスによって作成されたトラン"
+"ザクションの現在の状態を追跡します。Recovery Manager はトランザクションテーブ"
+"ルにアクセスする必要があるため、トランザクションが実行中であるか判断すること"
+"ができます。トランザクションが実行中の場合、リカバリは実行されません。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:474
+#: Architecture_of_the_Recovery_Manager.xml:476
#, no-c-format
msgid ""
"The transaction tables are accessed via the TransactionStatusManager object. "
@@ -1696,27 +1959,32 @@
"TransactionStatusManager’ part of the Object Store file hierarchy and "
"identified by the process Uid of the application process."
msgstr ""
-"トランザクションテーブルは TransactionStatusManager オブジェクトを通じてアクセスされます。アプリケーションプログラムの初期化時、TransactionStatusManager を示すホスト/ポートのペアが"
-" Object Store ファイル階層の「'../Recovery/"
-"TransactionStatusManager」部分内の Object Store に書き込まれ、アプリケーションプロセスのプロセス Uid によって識別されます。"
+"トランザクションテーブルは TransactionStatusManager オブジェクトを通じてアク"
+"セスされます。アプリケーションプログラムの初期化時、TransactionStatusManager "
+"を示すホスト/ポートのペアが Object Store ファイル階層の「'../Recovery/"
+"TransactionStatusManager」部分内の Object Store に書き込まれ、アプリケーショ"
+"ンプロセスのプロセス Uid によって識別されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:477
+#: Architecture_of_the_Recovery_Manager.xml:479
#, no-c-format
msgid ""
"The Recovery Manager uses the TransactionStatusConnectionManager object to "
"retrieve the status of a transaction and a TransactionStatusConnector object "
"is used to make a TCP connection to the TransactionStatusManager."
-msgstr "Recovery Manager は TransactionStatusConnectionManager オブジェクトを使用してトランザクションの状態を取得し、TransactionStatusConnector オブジェクトを使用して TransactionStatusManager への TCP 接続を確立します。"
+msgstr ""
+"Recovery Manager は TransactionStatusConnectionManager オブジェクトを使用して"
+"トランザクションの状態を取得し、TransactionStatusConnector オブジェクトを使用"
+"して TransactionStatusManager への TCP 接続を確立します。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:482
+#: Architecture_of_the_Recovery_Manager.xml:484
#, no-c-format
msgid "TransactionStatusManager"
msgstr "TransactionStatusManager"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:483
+#: Architecture_of_the_Recovery_Manager.xml:485
#, no-c-format
msgid ""
"This object acts as an interface for the Recovery Manager to obtain the "
@@ -1727,18 +1995,22 @@
"Any free port is used by the TransactionStatusManager by default, however "
"the port can be fixed with the property:"
msgstr ""
-"このオブジェクトは Recovery Manager のインターフェイスとして動作し、実行されている HPTS アプリケーションプロセスよりトランザクションの状態を取得します。class com."
-"arjuna.ats.arjuna.coordinator.InitAction によってアプリケーションプロセス毎に 1 つの TransactionStatusManager が作成されます。現在、RecoveryManager と TransactionStatusManager 間の通信には TCP 接続が使用されます。"
-"TransactionStatusManager はデフォルトで任意の空きポートを使用しますが、次のプロパティでポートを固定することもできます。"
+"このオブジェクトは Recovery Manager のインターフェイスとして動作し、実行され"
+"ている HPTS アプリケーションプロセスよりトランザクションの状態を取得します。"
+"class com.arjuna.ats.arjuna.coordinator.InitAction によってアプリケーションプ"
+"ロセス毎に 1 つの TransactionStatusManager が作成されます。現在、"
+"RecoveryManager と TransactionStatusManager 間の通信には TCP 接続が使用されま"
+"す。TransactionStatusManager はデフォルトで任意の空きポートを使用しますが、次"
+"のプロパティでポートを固定することもできます。"
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:486
+#: Architecture_of_the_Recovery_Manager.xml:488
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
msgstr "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:487
+#: Architecture_of_the_Recovery_Manager.xml:489
#, no-c-format
msgid ""
"On creation the TransactionStatusManager obtains a port which it stores with "
@@ -1750,29 +2022,35 @@
"TransactionStatusConnector, the transaction status is obtained from the "
"local thransaction table and returned back to the TransactionStatusConnector."
msgstr ""
-"TransactionStatusManager が作成されると、TransactionStatusManagerItem として Object Store にホストと共に保存するポートを取得します。リスナスレッドが起動し、"
-"TransactionStatusConnector からの接続要求を待ちます。接続が確立されると Connection スレッドが作成され、TransactionStatusConnector からのトランザクション Uid とトランザクションタイプ(存在する場合)を許可する Service "
-" (AtomicActionStatusService) が実行されます。トランザクションの状態はローカルのトランザクションテーブルより取得され、TransactionStatusConnector に返されます。"
+"TransactionStatusManager が作成されると、TransactionStatusManagerItem として "
+"Object Store にホストと共に保存するポートを取得します。リスナスレッドが起動"
+"し、TransactionStatusConnector からの接続要求を待ちます。接続が確立されると "
+"Connection スレッドが作成され、TransactionStatusConnector からのトランザク"
+"ション Uid とトランザクションタイプ(存在する場合)を許可する Service "
+"(AtomicActionStatusService) が実行されます。トランザクションの状態はローカル"
+"のトランザクションテーブルより取得され、TransactionStatusConnector に返されま"
+"す。"
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:492
+#: Architecture_of_the_Recovery_Manager.xml:494
#, no-c-format
msgid "Object Store"
msgstr "Object Store"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:493
+#: Architecture_of_the_Recovery_Manager.xml:495
#, no-c-format
msgid ""
"All objects are stored in a file path which is equivalent to their class "
"inheritance. Thus AtomicAction transactions are stored in file path ../"
"StateManager/BasicAction/AtomicAction."
msgstr ""
-"すべてのオブジェクトはクラス継承と同等のファイルパスで保存されます。よって、AtomicAction トランザクションは「 ../"
-"StateManager/BasicAction/AtomicAction」に保存されます。"
+"すべてのオブジェクトはクラス継承と同等のファイルパスで保存されます。よって、"
+"AtomicAction トランザクションは「 ../StateManager/BasicAction/AtomicAction」"
+"に保存されます。"
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:496
+#: Architecture_of_the_Recovery_Manager.xml:498
#, no-c-format
msgid ""
"All objects are identified by a unique identifier Uid. One of the values of "
@@ -1780,7 +2058,7 @@
"uses the process id to locate transaction status manager items when "
"contacting the originator application process for the transaction status."
msgstr ""
-"オブジェクトは固有の Uid によって識別されます。その値の 1 つが、オブジェクトが作成されたプロセスの ID になります。Recovery Manager は、"
-"トランザクションの状態を取得するため元のアプリケーションプロセスに接触する際、"
-"プロセス IDを使用してトランザクションステータスマネージャの項目を探します。"
-
+"オブジェクトは固有の Uid によって識別されます。その値の 1 つが、オブジェクト"
+"が作成されたプロセスの ID になります。Recovery Manager は、トランザクションの"
+"状態を取得するため元のアプリケーションプロセスに接触する際、プロセス IDを使用"
+"してトランザクションステータスマネージャの項目を探します。"
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Book_Info.po 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: 2008-08-05 11:45+1000\n"
"Last-Translator: Junko Ito <junko.ito at rehdat.com>\n"
"Language-Team: Japanese <ja at li.org>\n"
@@ -18,33 +18,34 @@
#. Tag: title
#: Book_Info.xml:6
-#, no-c-format
-msgid "Transactions Failure Recovery Guide"
+#, fuzzy, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
msgstr "トランザクション障害リカバリガイド"
#. Tag: subtitle
#: Book_Info.xml:7
-#, no-c-format
-msgid "JBoss Enterprise Application Platform"
+#, fuzzy, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
msgstr "JBoss Enterprise Application Platform"
#. Tag: para
-#: Book_Info.xml:11
+#: Book_Info.xml:13
#, no-c-format
msgid ""
"This book is the Enterprise Application Platform edition of the JBoss "
"Transactions Failure Recovery Guide"
-msgstr "この本は、Enterprise Application Platform 版の JBoss トランザクション障害リカバリガイドです。"
+msgstr ""
+"この本は、Enterprise Application Platform 版の JBoss トランザクション障害リカ"
+"バリガイドです。"
#. Tag: phrase
-#: Book_Info.xml:18
+#: Book_Info.xml:20
#, no-c-format
msgid "Logo"
msgstr "ロゴ"
#. Tag: holder
-#: Book_Info.xml:24
+#: Book_Info.xml:26
#, no-c-format
msgid "&HOLDER;"
msgstr "&HOLDER;"
-
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: How_JBossTS_managers_the_OTS_Recovery_Protocol\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: 2008-08-18 11:33+1000\n"
"Last-Translator: Junko Ito <junko.ito at rehdat.com>\n"
"Language-Team: Japanese <ja at li.org>\n"
@@ -37,7 +37,12 @@
"the RecoveryCoordinator to determine the status of the transaction. "
"According to that transaction status, those participants can take "
"appropriate decision either by roll backing or committing."
-msgstr "障害が発生した際にリカバリを管理するため、OTS の仕様にはリカバリプロトコルが定義されています。ダウト状態にあるトランザクションの参加者は、RecoveryCoordinator を使用してトランザクションの状態を判断することができます。参加者はこのトランザクションの状態を基にロールバックまたはコミットを実行します。"
+msgstr ""
+"障害が発生した際にリカバリを管理するため、OTS の仕様にはリカバリプロトコルが"
+"定義されています。ダウト状態にあるトランザクションの参加者は、"
+"RecoveryCoordinator を使用してトランザクションの状態を判断することができま"
+"す。参加者はこのトランザクションの状態を基にロールバックまたはコミットを実行"
+"します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
@@ -48,7 +53,11 @@
"is implicitly associated with a single Resource, can be used to drive the "
"Resource through recovery procedures in the event of a failure occurring "
"during the transaction."
-msgstr "トランザクション Coordinator上で register_resource の呼び出しに成功すると、RecoveryCoordinator への参照が返されます。このオブジェクトは暗黙的に単一の Resource へ関連付けられおり、トランザクションの間に障害が発生した場合、リカバリ手順で Resource に対応するために使用することができます。"
+msgstr ""
+"トランザクション Coordinator上で register_resource の呼び出しに成功すると、"
+"RecoveryCoordinator への参照が返されます。このオブジェクトは暗黙的に単一の "
+"Resource へ関連付けられおり、トランザクションの間に障害が発生した場合、リカバ"
+"リ手順で Resource に対応するために使用することができます。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
@@ -75,7 +84,16 @@
"enhances performance by avoiding the creation of servants but it relies on a "
"default RecoveryCoordinator object with it’s associated default servant to "
"manage all replay_completion invocations."
-msgstr "リソースが登録される度に RecoveryCoordinator オブジェクトが作成され、register_resource 操作を呼び出したアプリケーションに返されるはずです。各 CORBA オブジェクトの裏には、RecoveryCoordinator オブジェクトで操作を実行するオブジェクト実装または Servant オブジェクト(POA 用語)があるはずです。JBossTS は、関連するサーバントを各 register_resource 持つ RecoveryCoordinator オブジェクトを作成するのではなく、サーバントを作成せずにパフォーマンスを向上するため、関連するデフォルトのサーバントを持つデフォルトの RecoveryCoordinator オブジェクトに依存し、すべての replay_completion 呼び出しを管理します。"
+msgstr ""
+"リソースが登録される度に RecoveryCoordinator オブジェクトが作成され、"
+"register_resource 操作を呼び出したアプリケーションに返されるはずです。各 "
+"CORBA オブジェクトの裏には、RecoveryCoordinator オブジェクトで操作を実行する"
+"オブジェクト実装または Servant オブジェクト(POA 用語)があるはずです。"
+"JBossTS は、関連するサーバントを各 register_resource 持つ "
+"RecoveryCoordinator オブジェクトを作成するのではなく、サーバントを作成せずに"
+"パフォーマンスを向上するため、関連するデフォルトのサーバントを持つデフォルト"
+"の RecoveryCoordinator オブジェクトに依存し、すべての replay_completion 呼び"
+"出しを管理します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
@@ -84,7 +102,11 @@
"In the next sections we first give an overview of the Portable Object "
"Adapter architecture, then we describe how this architecture is used to "
"provide RecoveryCoordinator creation with optimization as explained above."
-msgstr "はじめに、ポータブルオブジェクトアダプタ (Portable Object Adapter) アーキテクチャの概要について次以降の項で説明します。次に、上記の通り最適化された RecoveryCoordinator の作成を提供するため、このアーキテクチャを使用する方法を説明します。"
+msgstr ""
+"はじめに、ポータブルオブジェクトアダプタ (Portable Object Adapter) アーキテク"
+"チャの概要について次以降の項で説明します。次に、上記の通り最適化された "
+"RecoveryCoordinator の作成を提供するため、このアーキテクチャを使用する方法を"
+"説明します。"
#. Tag: title
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
@@ -100,7 +122,10 @@
"a client request and identifies the object that satisfies the client "
"request. The Object is then invoked and the response is returned to the "
"client."
-msgstr "基本的に、ポータブルオブジェクトアダプタ (POA) とはクライアント要求を阻止し、そのクライアント要求を満たすオブジェクトを特定するオブジェクトのことです。オブジェクトはその後呼び出され、応答がクライアントへ返されます。"
+msgstr ""
+"基本的に、ポータブルオブジェクトアダプタ (POA) とはクライアント要求を阻止し、"
+"そのクライアント要求を満たすオブジェクトを特定するオブジェクトのことです。オ"
+"ブジェクトはその後呼び出され、応答がクライアントへ返されます。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
@@ -124,7 +149,18 @@
"the objects, which are identified by Object Ids, a POA also provides a name "
"space for POAs. A POA is created as a child of an existing POA, which forms "
"a hierarchy starting with the root POA."
-msgstr "クライアント要求を実行するオブジェクトはサーバントと呼ばれ、クライアントによって要求された CORBA オブジェクトの実装を提供します。サーバントは 1 つ以上の CORBA オブジェクト参照を提供します。サーバントを取得するため、各 POA は POA でアクティブになったすべてのオブジェクトをサーバントへマップする Active Object Map を保持します。各着信要求に対して、POA は Active Object Map 内でオブジェクト参照をルックアップし、関与するサーバントを見つけようとします。関与するサーバントがない場合は、要求がデフォルトのサーバントに委譲されるか、適切なサーバントをアクティブ化または検索するためにサーバントマネージャが呼び出されます。POA は、Object ID によって指定されるオブジェクトの名前空間だけでなく!
、POA の名前空間も提供します。POA は既存 POA の子として作成され、ルート POA から始まる階層を形成します。"
+msgstr ""
+"クライアント要求を実行するオブジェクトはサーバントと呼ばれ、クライアントに"
+"よって要求された CORBA オブジェクトの実装を提供します。サーバントは 1 つ以上"
+"の CORBA オブジェクト参照を提供します。サーバントを取得するため、各 POA は "
+"POA でアクティブになったすべてのオブジェクトをサーバントへマップする Active "
+"Object Map を保持します。各着信要求に対して、POA は Active Object Map 内でオ"
+"ブジェクト参照をルックアップし、関与するサーバントを見つけようとします。関与"
+"するサーバントがない場合は、要求がデフォルトのサーバントに委譲されるか、適切"
+"なサーバントをアクティブ化または検索するためにサーバントマネージャが呼び出さ"
+"れます。POA は、Object ID によって指定されるオブジェクトの名前空間だけでな"
+"く、POA の名前空間も提供します。POA は既存 POA の子として作成され、ルート "
+"POA から始まる階層を形成します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
@@ -134,7 +170,10 @@
"creating a new POA, the default set of policies can be used or different "
"values can be assigned that suit the application requirements. The POA "
"specification defines:"
-msgstr "各 POA は特性を定義する一連のポリシーを持っています。新しい POA を作成する際、デフォルトのポリシーセットを使用するか、アプリケーションの要件に合う値を適応することができます。POA の仕様は次を定義します。"
+msgstr ""
+"各 POA は特性を定義する一連のポリシーを持っています。新しい POA を作成する"
+"際、デフォルトのポリシーセットを使用するか、アプリケーションの要件に合う値を"
+"適応することができます。POA の仕様は次を定義します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
@@ -142,7 +181,9 @@
msgid ""
"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
"by the POA. Possible values are:"
-msgstr "<emphasis>スレッドポリシー:</emphasis> POA が仕様するスレッディングモデルを指定します。指定可能な値は次の通りです。"
+msgstr ""
+"<emphasis>スレッドポリシー:</emphasis> POA が仕様するスレッディングモデルを指"
+"定します。指定可能な値は次の通りです。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
@@ -164,7 +205,9 @@
msgid ""
"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
"implemented in the POA. The lifespan policy can have the following values:"
-msgstr "<emphasis>ライフスパンポリシー:</emphasis> POA に実装されたオブジェクトのライフスパンを指定します。ライフスパンポリシーに指定できる値は次の通りです。"
+msgstr ""
+"<emphasis>ライフスパンポリシー:</emphasis> POA に実装されたオブジェクトのライ"
+"フスパンを指定します。ライフスパンポリシーに指定できる値は次の通りです。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
@@ -175,7 +218,9 @@
"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
"references generated by the POA."
msgstr ""
-"POA に実装された TRANSIENT (デフォルト) オブジェクトは、最初にそのオブジェクトが作成されたプロセスよりも長く存在することはできません。POA が非アクティブになった後に、POA が生成したオブジェクト参照を使用しようとすると、"
+"POA に実装された TRANSIENT (デフォルト) オブジェクトは、最初にそのオブジェク"
+"トが作成されたプロセスよりも長く存在することはできません。POA が非アクティブ"
+"になった後に、POA が生成したオブジェクト参照を使用しようとすると、"
"OBJECT_NOT_EXIST 例外が発生します。"
#. Tag: para
@@ -184,7 +229,9 @@
msgid ""
"PERSISTENT Objects implemented in the POA can outlive the process in which "
"they are first created."
-msgstr "POA に実装された PERSISTENT オブジェクトは、最初にそのオブジェクトが作成されたプロセスが終了した後も存在することが可能です。"
+msgstr ""
+"POA に実装された PERSISTENT オブジェクトは、最初にそのオブジェクトが作成され"
+"たプロセスが終了した後も存在することが可能です。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
@@ -193,13 +240,18 @@
"Object ID Uniqueness policy: Allows a single servant to be shared by many "
"abstract objects. The Object ID Uniqueness policy can have the following "
"values:"
-msgstr "オブジェクト ID 一意性ポリシー:複数の抽象オブジェクトが 1 つのサーバントを共有できるようにします。オブジェクト ID 一意性ポリシーには次の値を指定することができます。"
+msgstr ""
+"オブジェクト ID 一意性ポリシー:複数の抽象オブジェクトが 1 つのサーバントを共"
+"有できるようにします。オブジェクト ID 一意性ポリシーには次の値を指定すること"
+"ができます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
#, no-c-format
msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
-msgstr "UNIQUE_ID (デフォルト): アクティブになったサーバントは 1 つの Object ID のみサポートします。"
+msgstr ""
+"UNIQUE_ID (デフォルト): アクティブになったサーバントは 1 つの Object ID のみ"
+"サポートします。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
@@ -207,7 +259,10 @@
msgid ""
"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
"ID must be determined within the method being invoked at run time."
-msgstr "MULTIPLE_ID: アクティブになったサーバントは 1 つ以上の Object ID を持つことができます。実行時に呼び出されたメソッド内で Object ID を決定しなければなりません。 "
+msgstr ""
+"MULTIPLE_ID: アクティブになったサーバントは 1 つ以上の Object ID を持つことが"
+"できます。実行時に呼び出されたメソッド内で Object ID を決定しなければなりませ"
+"ん。 "
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
@@ -216,7 +271,9 @@
"ID Assignment policy: Specifies whether object IDs are generated by server "
"applications or by the POA. The ID Assignment policy can have the following "
"values:"
-msgstr "ID 割り当てポリシー: サーバーアプリケーションと POA のどちらでオブジェクト ID を生成するか指定します。ID 割り当てポリシーには次の値を指定できます。"
+msgstr ""
+"ID 割り当てポリシー: サーバーアプリケーションと POA のどちらでオブジェクト "
+"ID を生成するか指定します。ID 割り当てポリシーには次の値を指定できます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
@@ -237,7 +294,9 @@
"Servant Retention policy: Specifies whether the POA retains active servants "
"in the Active Object Map. The Servant Retention policy can have the "
"following values:"
-msgstr "サーバント保持ポリシー: Active Object Map のアクティブサーバントを POA が保持するか指定します。サーバント保持ポリシーには次の値を指定できます。"
+msgstr ""
+"サーバント保持ポリシー: Active Object Map のアクティブサーバントを POA が保持"
+"するか指定します。サーバント保持ポリシーには次の値を指定できます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
@@ -247,8 +306,9 @@
"RETAIN is usually used with ServantActivators or explicit activation methods "
"on POA."
msgstr ""
-"RETAIN (デフォルト) を指定すると、Active Object Map におけるオブジェクトのアクティブ化を POA が追跡します。RETAIN は通常、"
-"ServantActivators または POA 上の明示的アクティブ化メソッドと共に使用されます。"
+"RETAIN (デフォルト) を指定すると、Active Object Map におけるオブジェクトのア"
+"クティブ化を POA が追跡します。RETAIN は通常、ServantActivators または POA 上"
+"の明示的アクティブ化メソッドと共に使用されます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
@@ -256,12 +316,15 @@
msgid ""
"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
"NON_RETAIN is typically used with ServantLocators."
-msgstr "NON_RETAIN を指定すると、POA は アクティブなサーバントを Active Object Map 内に保持しません。NON_RETAIN は通常、ServantLocators と共に使用されます。"
+msgstr ""
+"NON_RETAIN を指定すると、POA は アクティブなサーバントを Active Object Map 内"
+"に保持しません。NON_RETAIN は通常、ServantLocators と共に使用されます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
#, no-c-format
-msgid "Request Processing policy: Specifies how requests are processed by the POA."
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
msgstr "要求処理ポリシー: POA によって要求を処理する方法を指定します。"
#. Tag: para
@@ -272,8 +335,9 @@
"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
"also use the RETAIN policy with this value."
msgstr ""
-"USE_ACTIVE_OBJECT_MAP (デフォルト): Object ID が"
-"Active Object Map にリストされていない場合、OBJECT_NOT _EXIST 例外が返されます。また、POA はこの値で RETAIN ポリシーを使用しなければなりません。"
+"USE_ACTIVE_OBJECT_MAP (デフォルト): Object ID がActive Object Map にリストさ"
+"れていない場合、OBJECT_NOT _EXIST 例外が返されます。また、POA はこの値で "
+"RETAIN ポリシーを使用しなければなりません。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
@@ -284,8 +348,11 @@
"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
"is returned. The POA must also use the MULTIPLE_ID policy with this value."
msgstr ""
-"USE_DEFAULT_SERVANT: Object ID が Active Object Map にリストされていなかったり、"
-"NON_RETAIN ポリシーが設定されている場合、要求はデフォルトのサーバントに送られます。デフォルトのサーバントが設定されていない場合、OBJ_ADAPTER 例外が返されます。また、POA はこの値で MULTIPLE_ID ポリシーを使用しなければなりません。"
+"USE_DEFAULT_SERVANT: Object ID が Active Object Map にリストされていなかった"
+"り、NON_RETAIN ポリシーが設定されている場合、要求はデフォルトのサーバントに送"
+"られます。デフォルトのサーバントが設定されていない場合、OBJ_ADAPTER 例外が返"
+"されます。また、POA はこの値で MULTIPLE_ID ポリシーを使用しなければなりませ"
+"ん。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
@@ -295,8 +362,9 @@
"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
"servant."
msgstr ""
-"USE_SERVANT_MANAGER: Object ID が Active Object Map にリストされていなかったり、"
-"NON_RETAIN ポリシーが設定されている場合、サーバントマネージャを使用してサーバントを取得します。"
+"USE_SERVANT_MANAGER: Object ID が Active Object Map にリストされていなかった"
+"り、NON_RETAIN ポリシーが設定されている場合、サーバントマネージャを使用して"
+"サーバントを取得します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
@@ -305,7 +373,9 @@
"Implicit Activation policy: Specifies whether the POA supports implicit "
"activation of servants. The Implicit Activation policy can have the "
"following values:"
-msgstr "暗黙的アクティブ化ポリシー: サーバントの暗示的なアクティブ化を POA がサポートするか指定します。暗黙的アクティブ化ポリシーには次の値を指定できます。"
+msgstr ""
+"暗黙的アクティブ化ポリシー: サーバントの暗示的なアクティブ化を POA がサポート"
+"するか指定します。暗黙的アクティブ化ポリシーには次の値を指定できます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
@@ -317,8 +387,12 @@
"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
"also use the SYSTEM_ID and RETAIN policies with this value."
msgstr ""
-"IMPLICIT_ACTIVATION: POA はサーバントの暗黙的なアクティブ化をサポートします。サーバントをアクティブにするには、"
-"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> でサーバントをオブジェクト参照に変換するか、サーバントで <methodname>_this()</methodname> を呼び出します。また、POA はこの値で SYSTEM_ID ポリシーおよび RETAIN ポリシーを使用しなければなりません。"
+"IMPLICIT_ACTIVATION: POA はサーバントの暗黙的なアクティブ化をサポートします。"
+"サーバントをアクティブにするには、<methodname>org.omg.PortableServer.POA."
+"servant_to_reference()</methodname> でサーバントをオブジェクト参照に変換する"
+"か、サーバントで <methodname>_this()</methodname> を呼び出します。また、POA "
+"はこの値で SYSTEM_ID ポリシーおよび RETAIN ポリシーを使用しなければなりませ"
+"ん。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
@@ -326,11 +400,13 @@
msgid ""
"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
"activation of servants."
-msgstr "NO_IMPLICIT_ACTIVATION (デフォルト):POA はサーバントの暗示的なアクティブ化をサポートしません。"
+msgstr ""
+"NO_IMPLICIT_ACTIVATION (デフォルト):POA はサーバントの暗示的なアクティブ化を"
+"サポートしません。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
-#, no-c-format
+#, fuzzy, no-c-format
msgid ""
"It appears that to redirect replay_completion invocations to a default "
"servant we need to create a POA with the Request Processing policy assigned "
@@ -339,17 +415,25 @@
"default servant. Indeed, the ORB uses a set of information to retrieve a "
"POA; these information are contained in the object reference used by the "
"client. Among these information there are the IP address and the port number "
-"where resides the server and also the POA name. To perform replay_completion "
-"invocations, the solution adopted by JBossTS is to provide one Servant, per "
-"machine, and located in the RecoveryManager process, a separate process from "
-"client or server applications. The next section explains how the indirection "
-"to a default Servant located on a separate process is provided for ORBIX and "
-"for JacORB."
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
msgstr ""
-"replay_completion の呼び出しをデフォルトのサーバントにリダイレクトするには、要求処理ポリシーに USE_DEFAULT_SERVANT が設定された POA を作成する必要がありますが、デフォルトのサーバントにアクセスするには、最初に要求をデフォルトのサーバントに転送する POA にアクセスしなければなりません。ORB は一連の情報を使用"
-"して POA を取得しますが、この情報はクライアントが使用するオブジェクト参照に含まれています。この情報には、サーバーがある場所の IP アドレスやポート番号、POA 名が含まれています。JBossTS はマシンごとに 1 つのサーバントを提供し、"
-"replay_completion 呼び出しを実行します。このサーバントは RecoveryManager プロセス内にあります。RecoveryManager プロセスはクライアントアプリケーションやサーバーアプリケーションとは別のプロセスです。"
-"次の項では、ORBIX および JacORB に対して、個別のプロセスにあるデフォルトサーバントへの間接参照がどのように提供されるか説明します。"
+"replay_completion の呼び出しをデフォルトのサーバントにリダイレクトするには、"
+"要求処理ポリシーに USE_DEFAULT_SERVANT が設定された POA を作成する必要があり"
+"ますが、デフォルトのサーバントにアクセスするには、最初に要求をデフォルトの"
+"サーバントに転送する POA にアクセスしなければなりません。ORB は一連の情報を使"
+"用して POA を取得しますが、この情報はクライアントが使用するオブジェクト参照に"
+"含まれています。この情報には、サーバーがある場所の IP アドレスやポート番号、"
+"POA 名が含まれています。JBossTS はマシンごとに 1 つのサーバントを提供し、"
+"replay_completion 呼び出しを実行します。このサーバントは RecoveryManager プロ"
+"セス内にあります。RecoveryManager プロセスはクライアントアプリケーションや"
+"サーバーアプリケーションとは別のプロセスです。次の項では、ORBIX および "
+"JacORB に対して、個別のプロセスにあるデフォルトサーバントへの間接参照がどのよ"
+"うに提供されるか説明します。"
#. Tag: title
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
@@ -373,9 +457,16 @@
"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
"configuration scope that contains the well-known address."
msgstr ""
-"Orbix 内では、オブジェクトは Location Deamon によって配置されます。ロケーションデーモンを使用する際にオーバーヘッドが発生しないようにするため、Orbix は永続オブジェクト参照を生成できる "
-"<emphasis>直接永続化</emphasis> というメカニズムを提供します。このメカニズムは "
-"DIRECT_PERSISTENCE というプロプライタリポリシーです。PERSISTENT ポリシーおよび DIRECT_PERSISTENCE ポリシーを持つ POA は、サーバー処理用の予約済みアドレスを持つ IOR を生成します。また、直接永続化を使用する POA は、IIOP などの各トランスポートメカニズムに対し、使用する予約済みアドレスが設定ファイルのどこにあるか伝えなければなりません。これを実行するには、<code>WellKnownAddressingPolicy</code> オブジェクトを作成し、予約済みアドレスを持つ設定スコープにその値を設定します。"
+"Orbix 内では、オブジェクトは Location Deamon によって配置されます。ロケーショ"
+"ンデーモンを使用する際にオーバーヘッドが発生しないようにするため、Orbix は永"
+"続オブジェクト参照を生成できる <emphasis>直接永続化</emphasis> というメカニズ"
+"ムを提供します。このメカニズムは DIRECT_PERSISTENCE というプロプライタリポリ"
+"シーです。PERSISTENT ポリシーおよび DIRECT_PERSISTENCE ポリシーを持つ POA "
+"は、サーバー処理用の予約済みアドレスを持つ IOR を生成します。また、直接永続化"
+"を使用する POA は、IIOP などの各トランスポートメカニズムに対し、使用する予約"
+"済みアドレスが設定ファイルのどこにあるか伝えなければなりません。これを実行す"
+"るには、<code>WellKnownAddressingPolicy</code> オブジェクトを作成し、予約済み"
+"アドレスを持つ設定スコープにその値を設定します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
@@ -386,7 +477,11 @@
"names. The following configuration modifications are necessary to define the "
"well-know address of the RecoveryCoordinator performing replay_completion "
"invocation."
-msgstr "<code>WellKnownAddressingPolicy</code> オブジェクトが使用するアドレスを指定するため、JBossTS は ORB/POA 名を指定できる Orbix のメカニズムを使用します。replay_completion を呼び出す RecoveryCoordinator の予約済みアドレスを定義するには、設定を次のように変更する必要があります。"
+msgstr ""
+"<code>WellKnownAddressingPolicy</code> オブジェクトが使用するアドレスを指定す"
+"るため、JBossTS は ORB/POA 名を指定できる Orbix のメカニズムを使用します。"
+"replay_completion を呼び出す RecoveryCoordinator の予約済みアドレスを定義する"
+"には、設定を次のように変更する必要があります。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
@@ -394,7 +489,9 @@
msgid ""
"Note that this configuration is also necessary to support transaction "
"context propagation and interposition."
-msgstr "また、この設定はトランザクションコンテキストの伝搬や割り込みをサポートするためにも必要です。"
+msgstr ""
+"また、この設定はトランザクションコンテキストの伝搬や割り込みをサポートするた"
+"めにも必要です。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
@@ -402,7 +499,9 @@
msgid ""
"A new orb name domain called arjuna should be created within the main Orbix "
"2000 domain being used by the application. It requires the following format:"
-msgstr "アプケーションが使用するメイン Orbix 2000 ドメイン内に arjuna という新しい orb 名前ドメインが作成されるはずです。これには、次の形式が必要です。"
+msgstr ""
+"アプケーションが使用するメイン Orbix 2000 ドメイン内に arjuna という新しい "
+"orb 名前ドメインが作成されるはずです。これには、次の形式が必要です。"
#. Tag: screen
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
@@ -491,7 +590,10 @@
"The <name> field should be substituted by the name of the machine on "
"which JBossTS is being run. The <port> field should be an unused port "
"on which the JBossTS recovery manager may listen for recovery requests."
-msgstr "<name> フィールドは JBossTS が実行されているマシン名に置き換えます。<port> フィールドはリカバリ要求の際、JBossTS リカバリマネージャがリッスンする未使用ポートでなければなりません。"
+msgstr ""
+"<name> フィールドは JBossTS が実行されているマシン名に置き換えます。"
+"<port> フィールドはリカバリ要求の際、JBossTS リカバリマネージャがリッス"
+"ンする未使用ポートでなければなりません。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
@@ -506,9 +608,14 @@
"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
"ots_interposition</parameter> parameter should be used. For example:"
msgstr ""
-"Orbix と永続 POA が動作する仕組みにより、アプリケーションに対するクラッシュリカバリサポートが必要な場合、クライアントやサービスを実行する際に提供された Arjuna ORB 名の 1 つ(コンテキストまたは割り込み)を使用しなければなりません。トランザクションコンテキストの伝搬のみを使用する場合、<parameter>–"
-"ORBname arjuna.portable_interceptor.ots_context</parameter> パラメータをクライアントとサーバーに渡す必要があります。コンテキストの伝搬と割り込みを使用する場合、<parameter>–ORBname.arjuna.portable_interceptor."
-"ots_interposition</parameter> パラメータを使用しなければなりません。例は次の通りです。"
+"Orbix と永続 POA が動作する仕組みにより、アプリケーションに対するクラッシュリ"
+"カバリサポートが必要な場合、クライアントやサービスを実行する際に提供された "
+"Arjuna ORB 名の 1 つ(コンテキストまたは割り込み)を使用しなければなりませ"
+"ん。トランザクションコンテキストの伝搬のみを使用する場合、<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> パラメータをクラ"
+"イアントとサーバーに渡す必要があります。コンテキストの伝搬と割り込みを使用す"
+"る場合、<parameter>–ORBname.arjuna.portable_interceptor.ots_interposition</"
+"parameter> パラメータを使用しなければなりません。例は次の通りです。"
#. Tag: screen
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
@@ -539,11 +646,16 @@
"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
"of the default servant that performs all replay_invocations requests."
msgstr ""
-"Recovery Manager が起動すると、ロードする必要がある "
-"RecoveryActivator を設定内で探します。その後、ロードされた各インスタンスの "
-"<methodname>startRCservice</methodname> メソッドを呼び出します。前章 (リカバリマネージャ) の説明通り、ロード対象の <interfacename>RecoveryActivator</interfacename> インターフェイスを実装するクラスは <classname>RecoveryEnablement</classname> になります。この汎用クラスは <package>com.arjuna.ats.internal.jts.orbspecific."
-"recovery</package> パッケージ内にあり、アプリケーションが使用する ORB の本質を隠します。次の図は、すべての replay_invocations 要求を実行するデフォルトサーバントが作成されることになる "
-"<interfacename>RecoveryActivator</interfacename> の動作を表しています。"
+"Recovery Manager が起動すると、ロードする必要がある RecoveryActivator を設定"
+"内で探します。その後、ロードされた各インスタンスの "
+"<methodname>startRCservice</methodname> メソッドを呼び出します。前章 (リカバ"
+"リマネージャ) の説明通り、ロード対象の <interfacename>RecoveryActivator</"
+"interfacename> インターフェイスを実装するクラスは "
+"<classname>RecoveryEnablement</classname> になります。この汎用クラスは "
+"<package>com.arjuna.ats.internal.jts.orbspecific.recovery</package> パッケー"
+"ジ内にあり、アプリケーションが使用する ORB の本質を隠します。次の図は、すべて"
+"の replay_invocations 要求を実行するデフォルトサーバントが作成されることにな"
+"る <interfacename>RecoveryActivator</interfacename> の動作を表しています。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
@@ -552,8 +664,7 @@
"The Recovery Manager and the creation of the default servant for "
"RecoveryCoordinator."
msgstr ""
-"Recovery Manager と "
-"RecoveryCoordinator に対するデフォルトサーバントの作成。"
+"Recovery Manager と RecoveryCoordinator に対するデフォルトサーバントの作成。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
@@ -562,7 +673,11 @@
"There is one recovery Manager Process per machine, then one default servant "
"per machine. Performing all replay_completion invocations means those made "
"on the same machine."
-msgstr "マシンごとに 1 つのリカバリマネージャプロセスがあるため、マシンごとに 1 つのデフォルトサーバントがあることになります。すべての replay_completion を呼び出すとは、同じマシンで作成されたすべての replay_completion を呼び出すという意味になります。"
+msgstr ""
+"マシンごとに 1 つのリカバリマネージャプロセスがあるため、マシンごとに 1 つの"
+"デフォルトサーバントがあることになります。すべての replay_completion を呼び出"
+"すとは、同じマシンで作成されたすべての replay_completion を呼び出すという意味"
+"になります。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
@@ -575,7 +690,13 @@
"register_resource invocations, as illustrated in figure below. The Object "
"reference created has an Object ID that contains the transaction ID in "
"progress and the Process Identifier of the application."
-msgstr "開始されると、JBossTS をライブラリモードで使用するアプリケーションが起動し、Recovery Manager 内で定義されたポリシーと同じポリシーを持つ子 POA が作成されます。下図の通り、この子 POA は、register_resource が呼び出された際に返さなければならない RecoveryCoordinator CORBA オブジェクトのオブジェクト参照を作成するために使用されます。作成されたオブジェクト参照は、実行中のトランザクション ID とアプリケーションのプロセス識別子を含むオブジェクト ID を持っています。"
+msgstr ""
+"開始されると、JBossTS をライブラリモードで使用するアプリケーションが起動し、"
+"Recovery Manager 内で定義されたポリシーと同じポリシーを持つ子 POA が作成され"
+"ます。下図の通り、この子 POA は、register_resource が呼び出された際に返さなけ"
+"ればならない RecoveryCoordinator CORBA オブジェクトのオブジェクト参照を作成す"
+"るために使用されます。作成されたオブジェクト参照は、実行中のトランザクション "
+"ID とアプリケーションのプロセス識別子を含むオブジェクト ID を持っています。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
@@ -584,33 +705,43 @@
"If the Transaction Service is used in the stand-alone mode, the behavior to "
"create object reference to RecoveryCoordinator objects is exactly the same; "
"the process ID used in the Object ID is the Transaction Service process ID"
-msgstr "スタンドアローンモードでトランザクションサービスが使用された場合、RecoveryCoordinator オブジェクトへのオブジェクト参照を作成する動作は全く同じになります。オブジェクト ID 内で使用されたプロセス ID はトランザクションサービスプロセス ID になります。"
+msgstr ""
+"スタンドアローンモードでトランザクションサービスが使用された場合、"
+"RecoveryCoordinator オブジェクトへのオブジェクト参照を作成する動作は全く同じ"
+"になります。オブジェクト ID 内で使用されたプロセス ID はトランザクションサー"
+"ビスプロセス ID になります。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
#, no-c-format
-msgid "Resource registration and returned RecoveryCoordinator Object reference."
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
msgstr "リソース登録と返された RecoveryCoordinator オブジェクト参照"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
-#, no-c-format
+#, fuzzy, no-c-format
msgid ""
"Having the object reference of the RecoveryCoordinator, an application can "
"use it to determine the status of the transaction for which that object "
"reference is created. When a RecoveryCoordinator, according to POA policies "
-"assigned to the POA included in the object reference, the request is forward "
-"straightforward to the default servant defined in the Recovery Manager, as "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
"described in the figure below."
msgstr ""
-"アプリケーションは RecoveryCoordinator のオブジェクト参照を使用して、オブジェクト参照が作成されるトランザクションの状態を判断することができます。"
-"下図の通り、POA ポリシーに基づき RecoveryCoordinator がオブジェクト参照に含まれる POA へ割り当てられた場合、要求は Recovery Manager で定義されたデフォルトサーバントへ転送されます。"
+"アプリケーションは RecoveryCoordinator のオブジェクト参照を使用して、オブジェ"
+"クト参照が作成されるトランザクションの状態を判断することができます。下図の通"
+"り、POA ポリシーに基づき RecoveryCoordinator がオブジェクト参照に含まれる "
+"POA へ割り当てられた場合、要求は Recovery Manager で定義されたデフォルトサー"
+"バントへ転送されます。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
#, no-c-format
-msgid "replay_completion invocation forwarded to the default RecoveryCoordinator ."
-msgstr "デフォルトの RecoveryCoordinator に転送された replay_completion 呼び出し"
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+"デフォルトの RecoveryCoordinator に転送された replay_completion 呼び出し"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
@@ -625,7 +756,9 @@
"The participant invokes the replay_completion operation on "
"RecoveryCoordinator object using the object reference returned by the "
"Transaction Server."
-msgstr "Transaction Server によって返されたオブジェクト参照を使用して、参加者は Recovery Coordinator オブジェクト上で replay_completion を呼び出します。"
+msgstr ""
+"Transaction Server によって返されたオブジェクト参照を使用して、参加者は "
+"Recovery Coordinator オブジェクト上で replay_completion を呼び出します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
@@ -633,7 +766,9 @@
msgid ""
"The request is forwarded to the Recovery Manager process since the Well-"
"known-address policy is used to retrieve."
-msgstr "取得に予約済みアドレスポリシーが使用されたため、要求が RecoveryManager プロセスへ転送されます。"
+msgstr ""
+"取得に予約済みアドレスポリシーが使用されたため、要求が RecoveryManager プロセ"
+"スへ転送されます。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
@@ -648,7 +783,10 @@
"After looking to the Active Object Map, the child POA invokes the default "
"servant to perform the request. Note that the Object ID conveyed by the "
"object reference is not retrieved in the AOP."
-msgstr "Active Object Map を確認した後、子 POA はデフォルトサーバントを呼び出し、要求を実行します。オブジェクト参照によって送られた Object ID は AOP 内で取得されません。"
+msgstr ""
+"Active Object Map を確認した後、子 POA はデフォルトサーバントを呼び出し、要求"
+"を実行します。オブジェクト参照によって送られた Object ID は AOP 内で取得され"
+"ません。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
@@ -658,7 +796,10 @@
"Transaction ID and the process ID of the Transaction Server process. To "
"determine if the process still alive, the TransactionStatusConnectionManager "
"functionalities are used."
-msgstr "サーバントは、Transaction Server プロセスの Transaction ID およびプロセス ID を持つ Object ID を要求から抽出します。プロセスが存在しているか確認するには、TransactionStatusConnectionManager 機能を使用します。"
+msgstr ""
+"サーバントは、Transaction Server プロセスの Transaction ID およびプロセス ID "
+"を持つ Object ID を要求から抽出します。プロセスが存在しているか確認するには、"
+"TransactionStatusConnectionManager 機能を使用します。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
@@ -667,7 +808,9 @@
"According to the presence or not of the Transaction Server process and "
"eventually the returned status, the servant returns the status of the "
"transaction asked by the participant."
-msgstr "Transaction Server プロセスの存在の有無や最終的に返された状態を基に、サーバントは参加者が要求したトランザクションの状態を返します。"
+msgstr ""
+"Transaction Server プロセスの存在の有無や最終的に返された状態を基に、サーバン"
+"トは参加者が要求したトランザクションの状態を返します。"
#. Tag: title
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
@@ -684,7 +827,12 @@
"Manager process. However it provides a set of APIs that allows building "
"object references with specific IP address, port number and POA name in "
"order to reach the appropriate default servant."
-msgstr "JacORB は、RecoveryCoordinator オブジェクト上の要求を RecoveryManager プロセス内にあるデフォルトサーバントへリダイレクトする追加ポリシーを定義しません。しかし、適切なデフォルトサーバントにアクセスするため、特定の IP アドレスやポート番号、POA 名でオブジェクト参照を作成できるよう、一連の API を提供します。"
+msgstr ""
+"JacORB は、RecoveryCoordinator オブジェクト上の要求を RecoveryManager プロセ"
+"ス内にあるデフォルトサーバントへリダイレクトする追加ポリシーを定義しません。"
+"しかし、適切なデフォルトサーバントにアクセスするため、特定の IP アドレスや"
+"ポート番号、POA 名でオブジェクト参照を作成できるよう、一連の API を提供しま"
+"す。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
@@ -702,11 +850,17 @@
"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
"of the default servant that performs replay_completion invocations requests."
msgstr ""
-"Recovery Manager が起動すると、ロードする必要がある "
-"RecoveryActivator を設定内で探します。その後、ロードされた各インスタンスの "
-"<methodname>startRCservice</methodname> メソッドを呼び出します。前章 (リカバリマネージャ) の説明通り、ロード対象の <interfacename>RecoveryActivator</interfacename> インターフェイスを実装するクラスは <classname>RecoveryEnablement</classname> になります。この汎用クラスは <package>com.arjuna.ats.internal.jts.orbspecific."
-"recovery</package> パッケージ内にあり、アプリケーション (JacORB) が使用する ORB の本質を隠します。次の図は、すべての replay_invocations 要求を実行するデフォルトサーバントが作成されることになる "
-"<interfacename>RecoveryActivator</interfacename> の動作を表しています。"
+"Recovery Manager が起動すると、ロードする必要がある RecoveryActivator を設定"
+"内で探します。その後、ロードされた各インスタンスの "
+"<methodname>startRCservice</methodname> メソッドを呼び出します。前章 (リカバ"
+"リマネージャ) の説明通り、ロード対象の <interfacename>RecoveryActivator</"
+"interfacename> インターフェイスを実装するクラスは "
+"<classname>RecoveryEnablement</classname> になります。この汎用クラスは "
+"<package>com.arjuna.ats.internal.jts.orbspecific.recovery</package> パッケー"
+"ジ内にあり、アプリケーション (JacORB) が使用する ORB の本質を隠します。次の図"
+"は、すべての replay_invocations 要求を実行するデフォルトサーバントが作成され"
+"ることになる <interfacename>RecoveryActivator</interfacename> の動作を表して"
+"います。"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
@@ -719,15 +873,19 @@
"<code>RecoveryCoordinator</code> object reference created on "
"register_resource."
msgstr ""
-"デフォルトのサーバントが作成されるだけでなく、<code>RecoveryCoordinator</code> オブジェクトへのオブジェクト参照が作成され、"
-"ObjectStore に保存されます。IP アドレスやポート番号、POA 名を取得するためこのオブジェクト参照が使用され、これらは register_resource 上に作成された "
-"<code>RecoveryCoordinator</code> オブジェクト参照に割り当てられます。"
+"デフォルトのサーバントが作成されるだけでなく、<code>RecoveryCoordinator</"
+"code> オブジェクトへのオブジェクト参照が作成され、ObjectStore に保存されま"
+"す。IP アドレスやポート番号、POA 名を取得するためこのオブジェクト参照が使用さ"
+"れ、これらは register_resource 上に作成された <code>RecoveryCoordinator</"
+"code> オブジェクト参照に割り当てられます。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
#, no-c-format
-msgid "replay_completion invocation forwarded to the default RecoveryCoordinator."
-msgstr "デフォルトの RecoveryCoordinator に転送される replay_completion 呼び出し"
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+"デフォルトの RecoveryCoordinator に転送される replay_completion 呼び出し"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
@@ -745,8 +903,14 @@
"as illustrated below."
msgstr ""
"アプリケーションがトランザクションにてリソースを登録する際、"
-"<code>RecoveryCoordinator</code> オブジェクト参照が返されるはずです。そのオブジェクト参照を作成するため、Transaction Service は Recovery Manager 内でテンプレートをして作成された "
-"RecoveryCoordinator オブジェクト参照を使用します。新しいオブジェクト参照は実質的に同じ情報を持ち、デフォルトのサーバントを取得しますが(IP アドレス、ポート番号、POA 名など)、Object ID は異なります。下記の通り、この Object ID には実行中トランザクションの Transaction ID と、新しい <code>RecoveryCoordinator</code> オブジェクト参照を作成するプロセスの Process ID が含まれています。"
+"<code>RecoveryCoordinator</code> オブジェクト参照が返されるはずです。そのオブ"
+"ジェクト参照を作成するため、Transaction Service は Recovery Manager 内でテン"
+"プレートをして作成された RecoveryCoordinator オブジェクト参照を使用します。新"
+"しいオブジェクト参照は実質的に同じ情報を持ち、デフォルトのサーバントを取得し"
+"ますが(IP アドレス、ポート番号、POA 名など)、Object ID は異なります。下記の"
+"通り、この Object ID には実行中トランザクションの Transaction ID と、新しい "
+"<code>RecoveryCoordinator</code> オブジェクト参照を作成するプロセスの "
+"Process ID が含まれています。"
#. Tag: caption
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
@@ -754,7 +918,9 @@
msgid ""
"Resource registration and returned RecoveryCoordinator Object reference "
"build from a reference stored in the ObjectStore."
-msgstr "リソース登録と返される RecoveryCoordinator Object 参照 (ObjectStore に保存された参照より作成)"
+msgstr ""
+"リソース登録と返される RecoveryCoordinator Object 参照 (ObjectStore に保存さ"
+"れた参照より作成)"
#. Tag: para
#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
@@ -768,6 +934,9 @@
"extract the transaction identifier and the process identifier needed to "
"determine the status of the requested transaction."
msgstr ""
-"アプリケーションに返された <code>RecoveryCoordintaor</code> オブジェクト参照は、POA や Recovery Manager にあるデフォルトのサーバントを取得するために必要な情報をすべて持っているため、マシンごとの replay_completion 呼び出しは同じデフォルトの <code>RecoveryCoordinator</"
-"code> に転送されます。そのため、着信要求より Object ID を取得し、要求があったトランザクションの状態を判定するために必要なトランザクション識別子やプロセス識別子を抽出することができます。"
-
+"アプリケーションに返された <code>RecoveryCoordintaor</code> オブジェクト参照"
+"は、POA や Recovery Manager にあるデフォルトのサーバントを取得するために必要"
+"な情報をすべて持っているため、マシンごとの replay_completion 呼び出しは同じデ"
+"フォルトの <code>RecoveryCoordinator</code> に転送されます。そのため、着信要"
+"求より Object ID を取得し、要求があったトランザクションの状態を判定するために"
+"必要なトランザクション識別子やプロセス識別子を抽出することができます。"
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Revision_History.po 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/ja-JP/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Revision_History\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: 2008-08-05 11:47+1000\n"
"Last-Translator: Junko Ito <junko.ito at rehdat.com>\n"
"Language-Team: Japanese <ja at li.org>\n"
@@ -16,9 +16,14 @@
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
#. Tag: author
-#: Revision_History.xml:9
+#: Revision_History.xml:12
#, no-c-format
msgid "<firstname></firstname> <surname></surname> <email></email>"
msgstr "<firstname></firstname> <surname></surname> <email></email>"
-
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Architecture_of_the_Recovery_Manager.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Architecture_of_the_Recovery_Manager.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Architecture_of_the_Recovery_Manager.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -535,8 +535,14 @@
"TopLevelTransactionRecoveryModule"
msgstr ""
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:240
+#: Architecture_of_the_Recovery_Manager.xml:241
#, no-c-format
msgid ""
"com.arjuna.ats.internal.jts.recovery.transactions."
@@ -544,8 +550,14 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:246
+#: Architecture_of_the_Recovery_Manager.xml:242
#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
msgid ""
"To illustrate the behavior of a recovery module, the following pseudo code "
"describes the basic algorithm used for Atomic Action transactions and "
@@ -553,19 +565,19 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:250
+#: Architecture_of_the_Recovery_Manager.xml:252
#, no-c-format
msgid "AtomicAction pseudo code"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:251
+#: Architecture_of_the_Recovery_Manager.xml:253
#, no-c-format
msgid "First Pass:"
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:255
+#: Architecture_of_the_Recovery_Manager.xml:257
#, no-c-format
msgid ""
"< create a transaction vector for transaction Uids. >\n"
@@ -577,14 +589,14 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:256
-#: Architecture_of_the_Recovery_Manager.xml:265
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
#, no-c-format
msgid "Second Pass:"
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:259
+#: Architecture_of_the_Recovery_Manager.xml:261
#, no-c-format
msgid ""
"while < there are transactions in the transaction vector >\n"
@@ -603,19 +615,19 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:261
+#: Architecture_of_the_Recovery_Manager.xml:263
#, no-c-format
msgid "Transactional Object pseudo code"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:262
+#: Architecture_of_the_Recovery_Manager.xml:264
#, no-c-format
msgid "First Pass"
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:264
+#: Architecture_of_the_Recovery_Manager.xml:266
#, no-c-format
msgid ""
"< Create a hash table for uncommitted transactional objects. >\n"
@@ -632,7 +644,7 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:268
+#: Architecture_of_the_Recovery_Manager.xml:270
#, no-c-format
msgid ""
"while < there are transactions in the hash table for uncommitted "
@@ -656,13 +668,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:270
+#: Architecture_of_the_Recovery_Manager.xml:272
#, no-c-format
msgid "A Recovery Module for XA Resources"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:271
+#: Architecture_of_the_Recovery_Manager.xml:273
#, no-c-format
msgid ""
"To manage recovery, we have seen in the previous chapter that the Recovery "
@@ -672,7 +684,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:275
+#: Architecture_of_the_Recovery_Manager.xml:277
#, no-c-format
msgid ""
"To enable recovery of participants controlled via the <interfacename>XA</"
@@ -685,7 +697,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:279
+#: Architecture_of_the_Recovery_Manager.xml:281
#, no-c-format
msgid ""
"JBossTS supports two JTA implementations: a purely local version (no "
@@ -695,7 +707,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:283
+#: Architecture_of_the_Recovery_Manager.xml:285
#, no-c-format
msgid ""
"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
@@ -706,13 +718,13 @@
msgstr ""
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:290
+#: Architecture_of_the_Recovery_Manager.xml:292
#, no-c-format
msgid "JTA/JDBC information stored in the ObjectStore"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:292
+#: Architecture_of_the_Recovery_Manager.xml:294
#, no-c-format
msgid ""
"A JTA Resource record contains the information needed to link the "
@@ -726,7 +738,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:296
+#: Architecture_of_the_Recovery_Manager.xml:298
#, no-c-format
msgid ""
"When running XA recovery it is necessary to tell JBossTS which types of Xid "
@@ -743,7 +755,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:300
+#: Architecture_of_the_Recovery_Manager.xml:302
#, no-c-format
msgid ""
"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
@@ -757,13 +769,13 @@
msgstr ""
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:307
+#: Architecture_of_the_Recovery_Manager.xml:309
#, no-c-format
msgid "Transaction-Initiated Recovery and XA Recovery"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:309
+#: Architecture_of_the_Recovery_Manager.xml:311
#, no-c-format
msgid ""
"Resource-initiated recovery has to be specifically configured, by supplying "
@@ -778,13 +790,13 @@
msgstr ""
#. Tag: caption
-#: Architecture_of_the_Recovery_Manager.xml:316
+#: Architecture_of_the_Recovery_Manager.xml:318
#, no-c-format
msgid "Resource-initiated recovery and XA Recovery"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:319
+#: Architecture_of_the_Recovery_Manager.xml:321
#, no-c-format
msgid ""
"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
@@ -794,7 +806,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:323
+#: Architecture_of_the_Recovery_Manager.xml:325
#, no-c-format
msgid ""
"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
@@ -811,7 +823,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:326
+#: Architecture_of_the_Recovery_Manager.xml:328
#, no-c-format
msgid ""
"This double-scan mechanism is used because it is possible the Xid was "
@@ -822,7 +834,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:329
+#: Architecture_of_the_Recovery_Manager.xml:331
#, no-c-format
msgid ""
"An <classname>XAResourceRecovery</classname> implementation class can be "
@@ -838,7 +850,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:332
+#: Architecture_of_the_Recovery_Manager.xml:334
#, no-c-format
msgid ""
"For further details on the way to implement a class that implements the "
@@ -849,13 +861,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:336
+#: Architecture_of_the_Recovery_Manager.xml:338
#, no-c-format
msgid "Writing a Recovery Module"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:337
+#: Architecture_of_the_Recovery_Manager.xml:339
#, no-c-format
msgid ""
"In order to recover from failure, we have seen that the Recovery Manager "
@@ -871,13 +883,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:340
+#: Architecture_of_the_Recovery_Manager.xml:342
#, no-c-format
msgid "A basic scenario"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:341
+#: Architecture_of_the_Recovery_Manager.xml:343
#, no-c-format
msgid ""
"This basic example does not aim to present a complete process to recover "
@@ -886,7 +898,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:343
+#: Architecture_of_the_Recovery_Manager.xml:345
#, no-c-format
msgid ""
"The application used here consists to create an atomic transaction, to "
@@ -895,25 +907,25 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:348
+#: Architecture_of_the_Recovery_Manager.xml:350
#, no-c-format
msgid "to decide to commit or abort the transaction,"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:353
+#: Architecture_of_the_Recovery_Manager.xml:355
#, no-c-format
msgid "to decide generating a crash during the commitment process."
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:358
+#: 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 ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:361
+#: Architecture_of_the_Recovery_Manager.xml:363
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -959,13 +971,13 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:362
+#: Architecture_of_the_Recovery_Manager.xml:364
#, no-c-format
msgid "The registered participant has the following behavior:"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:367
+#: Architecture_of_the_Recovery_Manager.xml:369
#, no-c-format
msgid ""
"During the prepare phase, it writes a simple message - <emphasis>I’m "
@@ -974,7 +986,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:372
+#: Architecture_of_the_Recovery_Manager.xml:374
#, no-c-format
msgid ""
"During the commit phase, it writes another message - <emphasis>I’m "
@@ -982,7 +994,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:377
+#: Architecture_of_the_Recovery_Manager.xml:379
#, no-c-format
msgid ""
"If it receives an abort message, it removes from the disk the file used for "
@@ -990,7 +1002,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:382
+#: Architecture_of_the_Recovery_Manager.xml:384
#, no-c-format
msgid ""
"If a crash has been decided for the test, then it crashes during the commit "
@@ -998,7 +1010,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:387
+#: Architecture_of_the_Recovery_Manager.xml:389
#, no-c-format
msgid ""
"The main portion of the code illustrating such behavior is described "
@@ -1006,13 +1018,13 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:391
+#: Architecture_of_the_Recovery_Manager.xml:393
#, no-c-format
msgid "The location of the file given in variable filename can be changed"
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:395
+#: Architecture_of_the_Recovery_Manager.xml:397
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -1079,7 +1091,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:396
+#: Architecture_of_the_Recovery_Manager.xml:398
#, no-c-format
msgid ""
"The role of the Recovery Module in such application consists to read the "
@@ -1089,7 +1101,7 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:399
+#: Architecture_of_the_Recovery_Manager.xml:401
#, no-c-format
msgid ""
"package com.arjuna.demo.recoverymodule;\n"
@@ -1157,7 +1169,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:400
+#: Architecture_of_the_Recovery_Manager.xml:402
#, no-c-format
msgid ""
"The recovery module should now be deployed in order to be called by the "
@@ -1167,7 +1179,7 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:403
+#: Architecture_of_the_Recovery_Manager.xml:405
#, no-c-format
msgid ""
"<property\n"
@@ -1177,7 +1189,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:404
+#: Architecture_of_the_Recovery_Manager.xml:406
#, no-c-format
msgid ""
"Where <i> represent the new occurrence number that follows the last "
@@ -1186,7 +1198,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:408
+#: Architecture_of_the_Recovery_Manager.xml:410
#, no-c-format
msgid ""
"The source of the code can be retrieved under the trailmap directory of the "
@@ -1194,13 +1206,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:413
+#: Architecture_of_the_Recovery_Manager.xml:415
#, no-c-format
msgid "Another scenario"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:414
+#: Architecture_of_the_Recovery_Manager.xml:416
#, no-c-format
msgid ""
"As mentioned, the basic application presented above does not present the "
@@ -1211,7 +1223,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:418
+#: Architecture_of_the_Recovery_Manager.xml:420
#, no-c-format
msgid ""
"To manage recovery in case of failure, the OTS specification has defined a "
@@ -1224,7 +1236,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:421
+#: Architecture_of_the_Recovery_Manager.xml:423
#, no-c-format
msgid ""
"For each OTS Resource in a doubt status, it is well known which "
@@ -1236,7 +1248,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:424
+#: Architecture_of_the_Recovery_Manager.xml:426
#, no-c-format
msgid ""
"A recovery module dedicated to recover OTS Resources could have the "
@@ -1252,13 +1264,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:429
+#: Architecture_of_the_Recovery_Manager.xml:431
#, no-c-format
msgid "TransactionStatusConnectionManager"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:430
+#: Architecture_of_the_Recovery_Manager.xml:432
#, no-c-format
msgid ""
"The TransactionStatusConnectionManager object is used by the recovery "
@@ -1269,7 +1281,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:433
+#: Architecture_of_the_Recovery_Manager.xml:435
#, no-c-format
msgid ""
"The transactions status is retrieved using the getTransactionStatus methods "
@@ -1284,13 +1296,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:438
+#: Architecture_of_the_Recovery_Manager.xml:440
#, no-c-format
msgid "Expired Scanner Thread"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:439
+#: Architecture_of_the_Recovery_Manager.xml:441
#, no-c-format
msgid ""
"When the Recovery Manager initialises an expiry scanner thread "
@@ -1300,7 +1312,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:442
+#: Architecture_of_the_Recovery_Manager.xml:444
#, no-c-format
msgid ""
"Scanner modules are loaded at initialisation and are specified as properties "
@@ -1308,7 +1320,7 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:445
+#: Architecture_of_the_Recovery_Manager.xml:447
#, no-c-format
msgid ""
"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
@@ -1316,7 +1328,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:446
+#: Architecture_of_the_Recovery_Manager.xml:448
#, no-c-format
msgid ""
"All the scanner modules are called periodically to scan for dead items by "
@@ -1324,13 +1336,13 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:449
+#: Architecture_of_the_Recovery_Manager.xml:451
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:450
+#: Architecture_of_the_Recovery_Manager.xml:452
#, no-c-format
msgid ""
"All scanners inherit the same behaviour from the java interface "
@@ -1338,7 +1350,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:458
+#: Architecture_of_the_Recovery_Manager.xml:460
#, no-c-format
msgid ""
"A scan method is provided by this interface and implemented by all scanner "
@@ -1346,7 +1358,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:461
+#: Architecture_of_the_Recovery_Manager.xml:463
#, no-c-format
msgid ""
"The ExpiredTransactionStatusManagerScanner removes long dead "
@@ -1356,25 +1368,25 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:464
+#: Architecture_of_the_Recovery_Manager.xml:466
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:465
+#: Architecture_of_the_Recovery_Manager.xml:467
#, no-c-format
msgid "(default 12 hours)"
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:470
+#: Architecture_of_the_Recovery_Manager.xml:472
#, no-c-format
msgid "Application Process"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:471
+#: Architecture_of_the_Recovery_Manager.xml:473
#, no-c-format
msgid ""
"This represents the user transactional program. A Local transaction (hash) "
@@ -1386,7 +1398,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:474
+#: Architecture_of_the_Recovery_Manager.xml:476
#, no-c-format
msgid ""
"The transaction tables are accessed via the TransactionStatusManager object. "
@@ -1397,7 +1409,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:477
+#: Architecture_of_the_Recovery_Manager.xml:479
#, no-c-format
msgid ""
"The Recovery Manager uses the TransactionStatusConnectionManager object to "
@@ -1406,13 +1418,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:482
+#: Architecture_of_the_Recovery_Manager.xml:484
#, no-c-format
msgid "TransactionStatusManager"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:483
+#: Architecture_of_the_Recovery_Manager.xml:485
#, no-c-format
msgid ""
"This object acts as an interface for the Recovery Manager to obtain the "
@@ -1425,13 +1437,13 @@
msgstr ""
#. Tag: screen
-#: Architecture_of_the_Recovery_Manager.xml:486
+#: Architecture_of_the_Recovery_Manager.xml:488
#, no-c-format
msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:487
+#: Architecture_of_the_Recovery_Manager.xml:489
#, no-c-format
msgid ""
"On creation the TransactionStatusManager obtains a port which it stores with "
@@ -1445,13 +1457,13 @@
msgstr ""
#. Tag: title
-#: Architecture_of_the_Recovery_Manager.xml:492
+#: Architecture_of_the_Recovery_Manager.xml:494
#, no-c-format
msgid "Object Store"
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:493
+#: Architecture_of_the_Recovery_Manager.xml:495
#, no-c-format
msgid ""
"All objects are stored in a file path which is equivalent to their class "
@@ -1460,7 +1472,7 @@
msgstr ""
#. Tag: para
-#: Architecture_of_the_Recovery_Manager.xml:496
+#: Architecture_of_the_Recovery_Manager.xml:498
#, no-c-format
msgid ""
"All objects are identified by a unique identifier Uid. One of the values of "
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Author_Group.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Author_Group.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Author_Group.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Book_Info.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Book_Info.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Book_Info.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -17,17 +17,17 @@
#. Tag: title
#: Book_Info.xml:6
#, no-c-format
-msgid "Transactions Failure Recovery Guide"
+msgid "JBoss Transactions Failure Recovery Guide"
msgstr ""
#. Tag: subtitle
#: Book_Info.xml:7
#, no-c-format
-msgid "JBoss Enterprise Application Platform"
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
msgstr ""
#. Tag: para
-#: Book_Info.xml:11
+#: Book_Info.xml:13
#, no-c-format
msgid ""
"This book is the Enterprise Application Platform edition of the JBoss "
@@ -35,13 +35,13 @@
msgstr ""
#. Tag: phrase
-#: Book_Info.xml:18
+#: Book_Info.xml:20
#, no-c-format
msgid "Logo"
msgstr ""
#. Tag: holder
-#: Book_Info.xml:24
+#: Book_Info.xml:26
#, no-c-format
msgid "&HOLDER;"
msgstr ""
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/How_JBossTS_managers_the_OTS_Recovery_Protocol.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/How_JBossTS_managers_the_OTS_Recovery_Protocol.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/How_JBossTS_managers_the_OTS_Recovery_Protocol.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -326,12 +326,12 @@
"default servant. Indeed, the ORB uses a set of information to retrieve a "
"POA; these information are contained in the object reference used by the "
"client. Among these information there are the IP address and the port number "
-"where resides the server and also the POA name. To perform replay_completion "
-"invocations, the solution adopted by JBossTS is to provide one Servant, per "
-"machine, and located in the RecoveryManager process, a separate process from "
-"client or server applications. The next section explains how the indirection "
-"to a default Servant located on a separate process is provided for ORBIX and "
-"for JacORB."
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
msgstr ""
#. Tag: title
@@ -533,8 +533,8 @@
"Having the object reference of the RecoveryCoordinator, an application can "
"use it to determine the status of the transaction for which that object "
"reference is created. When a RecoveryCoordinator, according to POA policies "
-"assigned to the POA included in the object reference, the request is forward "
-"straightforward to the default servant defined in the Recovery Manager, as "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
"described in the figure below."
msgstr ""
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Preface.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Preface.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Preface.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Revision_History.pot
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Revision_History.pot 2008-09-23 06:27:19 UTC (rev 78769)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/Revision_History.pot 2008-09-23 06:31:08 UTC (rev 78770)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc at kde.org>\n"
@@ -14,8 +14,14 @@
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
#. Tag: author
-#: Revision_History.xml:9
+#: Revision_History.xml:12
#, no-c-format
msgid "<firstname></firstname> <surname></surname> <email></email>"
msgstr ""
Modified: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pot/messages.mo
===================================================================
(Binary files differ)
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Appendix.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Appendix.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Appendix.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"PO-Revision-Date: 2008-08-05 01:23+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Appendix.xml:9
+#, no-c-format
+msgid "Revision History"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Architecture_of_the_Recovery_Manager.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,1481 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:6
+#, no-c-format
+msgid "Architecture of the Recovery Manager"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:8
+#, no-c-format
+msgid "Crash Recovery Overview"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:9
+#, no-c-format
+msgid ""
+"The main architectural components within Crash Recovery are illustrated in "
+"the diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:17
+#, no-c-format
+msgid ""
+"The Recovery Manager is a daemon process responsible for performing crash "
+"recovery. Only one Recovery Manager runs per node. The Object Store provides "
+"persistent data storage for transactions to log data. During normal "
+"transaction processing each transaction will log persistent data needed for "
+"the commit phase to the Object Store. On successfully committing a "
+"transaction this data is removed, however if the transaction fails then this "
+"data remains within the Object Store."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:20
+#, no-c-format
+msgid "The Recovery Manager functions by:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:25
+#, no-c-format
+msgid ""
+"Periodically scanning the Object Store for transactions that may have "
+"failed. Failed transactions are indicated by the presence of log data after "
+"a period of time that the transaction would have normally been expected to "
+"finish."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:30
+#, no-c-format
+msgid ""
+"Checking with the application process which originated the transaction "
+"whether the transaction is still in progress or not."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:35
+#, no-c-format
+msgid ""
+"Recovering the transaction by re-activating the transaction and then "
+"replaying phase two of the commit protocol."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:40
+#, no-c-format
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:46
+#, no-c-format
+msgid "Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:47
+#, no-c-format
+msgid ""
+"On initialization the Recovery Manager first loads in configuration "
+"information via a properties file. This configuration includes a number of "
+"recovery activators and recovery modules, which are then dynamically loaded."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:50
+#, no-c-format
+msgid ""
+"Since the version 3.0 of JBossTS, the Recovery Manager is not specifically "
+"tied to an Object Request Broker or ORB. Hence, the OTS recovery protocol is "
+"not implicitly enabled. To enable such protocol, we use the concept of "
+"recovery activator, defined with the interface "
+"<interfacename>RecoveryActivator</interfacename>, which is used to "
+"instantiate a recovery class related to the underlying communication "
+"protocol. For instance, when used with OTS, the "
+"<interfacename>RecoveryActivitor</interfacename> has the responsibility to "
+"create a RecoveryCoordinator object able to respond to the replay_completion "
+"operation."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:53
+#, no-c-format
+msgid ""
+"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
+"same interface. They are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:56
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery."
+"recoveryActivator_<number>\" value=\"RecoveryClass\" />"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:57
+#, no-c-format
+msgid ""
+"For instance the <interfacename>RecoveryActivator</interfacename> provided "
+"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:60
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryActivator_1\" value="
+"\"com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:61
+#, no-c-format
+msgid ""
+"When loaded all <interfacename>RecoveryActivator</interfacename> instances "
+"provide the method <methodname>startRCservice</methodname> invoked by the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:64
+#, no-c-format
+msgid ""
+"Each recovery module is used to recover a different type of transaction/"
+"resource, however each recovery module inherits the same basic behavior."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:67
+#, no-c-format
+msgid ""
+"Recovery consists of two separate passes/phases separated by two timeout "
+"periods. The first pass examines the object store for potentially failed "
+"transactions; the second pass performs crash recovery on failed "
+"transactions. The timeout between the first and second pass is known as the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:70
+#, no-c-format
+msgid ""
+"The Recovery Manager invokes the first pass upon each recovery module, "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:73
+#, no-c-format
+msgid ""
+"The recovery modules are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:76
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension<number>=<"
+"RecoveryClass>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:77
+#, no-c-format
+msgid ""
+"The backoff period and recovery period are set using the following "
+"properties:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:80
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery (default 120 "
+"secs)"
+msgstr ""
+
+#. 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:86
+#, no-c-format
+msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:91
+#, no-c-format
+msgid ""
+"RecoveryManager: The daemon process that starts up by instantiating an "
+"instance of the RecoveryManagerImple class."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:96
+#, no-c-format
+msgid "RecoveryEnvironment: Properties used by the recovery manager."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:101
+#, no-c-format
+msgid ""
+"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
+"file. (for instance, RecoveryManager-properties.xml)"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:108
+#, no-c-format
+msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:113
+#, no-c-format
+msgid ""
+"RecoveryManagerImple: Creates and starts instances of the "
+"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
+"thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:118
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:123
+#, no-c-format
+msgid ""
+"PeriodicRecovery: Thread which loads each recovery module, then calls the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:128
+#, no-c-format
+msgid ""
+"RecoveryClassLoader: Dynamically loads in the recovery modules specified in "
+"the Recovery Manager property file. Each module is specified as a recovery "
+"extension in the properties file (for instance, com.arjuna.ats.arjuna."
+"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
+"AtomicActionRecoveryModule)."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:136
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:141
+#, no-c-format
+msgid "Embedding the Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:142
+#, no-c-format
+msgid ""
+"In some situations it may be required to embed the RecoveryManager in the "
+"same process as the transaction service. In this case you can create an "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:148
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:153
+#, no-c-format
+msgid ""
+"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
+"directly via the scan operation or RecoveryDriver."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:159
+#, no-c-format
+msgid "Managing recovery directly"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:160
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:165
+#, no-c-format
+msgid "Seperate Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:166
+#, no-c-format
+msgid ""
+"You can either use the com.arjuna.ats.arjuna.tools.RecoveryMonitor program "
+"to send a message to the Recovery Manager instructing it to perform "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:172
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:177
+#, no-c-format
+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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:183
+#, no-c-format
+msgid "In process Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:184
+#, no-c-format
+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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:188
+#, no-c-format
+msgid ""
+"public interface RecoveryScan\n"
+"{\n"
+" public void completed ();\n"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:189
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:195
+#, no-c-format
+msgid "Recovery Modules"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:196
+#, no-c-format
+msgid ""
+"As stated before each recovery module is used to recover a different type of "
+"transaction/resource, but each recovery module must implement the following "
+"RecoveryModule interface, which defines two methods: "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
+"Manager."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:199
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:201
+#, no-c-format
+msgid "JBossTS Recovery Module Classes"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:202
+#, no-c-format
+msgid ""
+"JBossTS provides a set of recovery modules that are responsible to manage "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:209
+#, no-c-format
+msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:210
+#, no-c-format
+msgid "Recovers AtomicAction transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:217
+#, no-c-format
+msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:218
+#, no-c-format
+msgid "Recovers Transactional Objects for Java."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:225
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:226
+#, no-c-format
+msgid ""
+"Recovers JTS Transactions. This is a generic class from which TopLevel and "
+"Server transaction recovery modules inherit, respectively"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:233
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:241
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:252
+#, no-c-format
+msgid "AtomicAction pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:253
+#, no-c-format
+msgid "First Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:257
+#, no-c-format
+msgid ""
+"< create a transaction vector for transaction Uids. >\n"
+"< read in all transactions for a transaction type AtomicAction. >\n"
+"while < there are transactions in the vector of transactions. >\n"
+"do\n"
+" < add the transaction to the vector of transactions. >\n"
+"end while."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
+#, no-c-format
+msgid "Second Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:261
+#, no-c-format
+msgid ""
+"while < there are transactions in the transaction vector >\n"
+"do\n"
+" if < the intention list for the transaction still exists >\n"
+" then\n"
+" < create new transaction cached item >\n"
+" < obtain the status of the transaction >\n"
+" \n"
+" if < the transaction is not in progress >\n"
+" then\n"
+" < replay phase two of the commit protocol >\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:263
+#, no-c-format
+msgid "Transactional Object pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:264
+#, no-c-format
+msgid "First Pass"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:266
+#, no-c-format
+msgid ""
+"< Create a hash table for uncommitted transactional objects. >\n"
+"< Read in all transactional objects within the object store. >\n"
+"while < there are transactional objects >\n"
+"do\n"
+" if < the transactional object has an Uncommited status in "
+"the object store >\n"
+" then\n"
+" < add the transactional Object o the hash table for "
+"uncommitted transactional objects>\n"
+" end if.\n"
+"end while."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:270
+#, no-c-format
+msgid ""
+"while < there are transactions in the hash table for uncommitted "
+"transactional objects >\n"
+"do\n"
+" if < the transaction is still in the Uncommitted state >\n"
+" then\n"
+" if < the transaction is not in the Transaction Cache "
+">\n"
+" then\n"
+" < check the status of the transaction with the "
+"original application process >\n"
+" if < the status is Rolled Back or the application "
+"process is inactive >\n"
+" < rollback the transaction by removing "
+"the Uncommitted status from the Object Store >\n"
+" endif.\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:272
+#, no-c-format
+msgid "A Recovery Module for XA Resources"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:273
+#, no-c-format
+msgid ""
+"To manage recovery, we have seen in the previous chapter that the Recovery "
+"Manager triggers a recovery process by calling a set of recovery modules "
+"that implements the two methods defined by the "
+"<interfacename>RecoveryModule</interfacename> interface."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:277
+#, no-c-format
+msgid ""
+"To enable recovery of participants controlled via the <interfacename>XA</"
+"interfacename> interface, a specific recovery module named XARecoveryModule "
+"is provided. The XARecoveryModule, defined in the packages <package>com."
+"arjuna.ats.internal.jta.recovery.arjunacore</package> and <package>com."
+"arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
+"<interfacename>XA</interfacename> resources (for example, databases) used in "
+"JTA."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:281
+#, no-c-format
+msgid ""
+"JBossTS supports two JTA implementations: a purely local version (no "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:285
+#, no-c-format
+msgid ""
+"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
+"emphasis> and <emphasis>resource-initiated</emphasis> recovery. Transaction-"
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:292
+#, no-c-format
+msgid "JTA/JDBC information stored in the ObjectStore"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:294
+#, no-c-format
+msgid ""
+"A JTA Resource record contains the information needed to link the "
+"transaction, as known to the rest of JBossTS, to the database. Resource-"
+"initiated recovery is necessary for branches where a failure occurred after "
+"the database had made a persistent record of the transaction, but before the "
+"JTA ResourceRecord was persisted. Resource-initiated recovery is also "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:298
+#, no-c-format
+msgid ""
+"When running XA recovery it is necessary to tell JBossTS which types of Xid "
+"it can recover. Each Xid that JBossTS creates has a unique node identifier "
+"encoded within it and JBossTS will only recover transactions and states that "
+"match a specified node identifier. The node identifier to use should be "
+"provided to JBossTS via a property that starts with the name <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property>; multiple values may be provided. A "
+"value of ‘*’ will force JBossTS to recover (and possibly rollback) all "
+"transactions irrespective of their node identifier and should be used with "
+"caution. The contents of <property>com.arjuna.ats.jta.xaRecoveryNode</"
+"property> should be alphanumeric and match the values of <property>com."
+"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:302
+#, no-c-format
+msgid ""
+"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
+"JTA Resource Record that need recovery, then uses the normal recovery "
+"mechanisms to find the status of the transaction it was involved in (i.e., "
+"it calls replay_completion on the RecoveryCoordinator for the transaction "
+"branch), (re)creates the appropriate XAResource and issues commit or "
+"rollback on it as appropriate. The XAResource creation will use the same "
+"information, database name, username, password etc., as the original "
+"application."
+msgstr ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:309
+#, no-c-format
+msgid "Transaction-Initiated Recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:311
+#, no-c-format
+msgid ""
+"Resource-initiated recovery has to be specifically configured, by supplying "
+"the Recovery Manager with the appropriate information for it to interrogate "
+"all the databases (XADataSources) that have been accessed by any JBossTS "
+"application. The access to each XADataSource is handled by a class that "
+"implements the <interfacename>com.arjuna.ats.jta.recovery."
+"XAResourceRecovery</interfacename> interface, as illustrated in Figure 4. "
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:318
+#, no-c-format
+msgid "Resource-initiated recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:321
+#, no-c-format
+msgid ""
+"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:325
+#, no-c-format
+msgid ""
+"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
+"XAResource to the target datasource. On each invocation of "
+"periodicWorkSecondPass, the recovery module will issue an XAResource.recover "
+"request – this will (as described in the XA specification) return a list of "
+"the transaction identifiers (Xid’s) that are known to the datasource and are "
+"in an indeterminate (in-doubt) state. The list of these in-doubt Xid’s "
+"received on successive passes (i.e. periodicWorkSecondPass-es) is compared. "
+"Any Xid that appears in both lists, and for which no JTA ResourceRecord was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:328
+#, no-c-format
+msgid ""
+"This double-scan mechanism is used because it is possible the Xid was "
+"obtained from the datasource just as the original application process was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:331
+#, no-c-format
+msgid ""
+"An <classname>XAResourceRecovery</classname> implementation class can be "
+"written to contain all the information needed to perform recovery to some "
+"datasource. Alternatively, a single class can handle multiple datasources. "
+"The constructor of the implementation class must have an empty parameter "
+"list (because it is loaded dynamically), but the interface includes an "
+"initialise method which passes in further information as a string. The "
+"content of the string is taken from the property value that provides the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:334
+#, no-c-format
+msgid ""
+"For further details on the way to implement a class that implements the "
+"interface <interfacename>XAResourceRecovery</interfacename>, read the JDBC "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:338
+#, no-c-format
+msgid "Writing a Recovery Module"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:339
+#, no-c-format
+msgid ""
+"In order to recover from failure, we have seen that the Recovery Manager "
+"contacts recovery modules by invoking periodically the methods "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname>. Each Recovery Module is "
+"then able to manage recovery according to the type of resources that need to "
+"be recovered. The JBoss Transaction product is shipped with a set of "
+"recovery modules (TOReceveryModule, XARecoveryModule…), but it is possible "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:342
+#, no-c-format
+msgid "A basic scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:343
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:345
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:350
+#, no-c-format
+msgid "to decide to commit or abort the transaction,"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:355
+#, no-c-format
+msgid "to decide generating a crash during the commitment process."
+msgstr ""
+
+#. 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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:363
+#, no-c-format
+msgid ""
+"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 < 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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:364
+#, no-c-format
+msgid "The registered participant has the following behavior:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:369
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:374
+#, no-c-format
+msgid ""
+"During the commit phase, it writes another message - <emphasis>I’m "
+"committed</emphasis>- in the same file used during prepare."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:379
+#, no-c-format
+msgid ""
+"If it receives an abort message, it removes from the disk the file used for "
+"prepare if any."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:384
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:389
+#, no-c-format
+msgid ""
+"The main portion of the code illustrating such behavior is described "
+"hereafter."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:393
+#, no-c-format
+msgid "The location of the file given in variable filename can be changed"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:397
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:398
+#, no-c-format
+msgid ""
+"The role of the Recovery Module in such application consists to read the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:401
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:402
+#, no-c-format
+msgid ""
+"The recovery module should now be deployed in order to be called by the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:405
+#, no-c-format
+msgid ""
+"<property\n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension<"
+"i>\"\n"
+" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:406
+#, no-c-format
+msgid ""
+"Where <i> 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:410
+#, no-c-format
+msgid ""
+"The source of the code can be retrieved under the trailmap directory of the "
+"JBossTS installation."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:415
+#, no-c-format
+msgid "Another scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:416
+#, no-c-format
+msgid ""
+"As mentioned, the basic application presented above does not present the "
+"complete process to recover from failure, but it was just presented to "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:420
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:423
+#, no-c-format
+msgid ""
+"For each OTS Resource in a doubt status, it is well known which "
+"RecoveyCoordinator to invoke to determine the status of the transaction in "
+"which the Resource is involved – It’s the RecoveryCoordinator returned "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:426
+#, no-c-format
+msgid ""
+"A recovery module dedicated to recover OTS Resources could have the "
+"following behavior. When requested by the recovery Manager on the first pass "
+"it retrieves from the disk the list of resources that are in the doubt "
+"status. During the second pass, if the resources that were retrieved in the "
+"first pass still remain in the disk then they are considered as candidates "
+"for recovery. Therefore, the Recovery Module retrieves for each candidate "
+"its associated RecoveryCoordinator and invokes the replay_completion "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:431
+#, no-c-format
+msgid "TransactionStatusConnectionManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:432
+#, no-c-format
+msgid ""
+"The TransactionStatusConnectionManager object is used by the recovery "
+"modules to retrieve the status of transactions and acts like a proxy for "
+"TransactionStatusManager objects. It maintains a table of "
+"TransactionStatusConnector obects each of which connects to a "
+"TransactionStatusManager object in an Application Process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:435
+#, no-c-format
+msgid ""
+"The transactions status is retrieved using the getTransactionStatus methods "
+"which take a transaction Uid and if available a transaction type as "
+"parameters. The process Uid field in the transactions Uid parameter is used "
+"to lookup the target TransactionStatusManagerItem host/port pair in the "
+"Object Store. The host/port pair are used to make a TCP connection to the "
+"target TransactionStatusManager object by a TransactionStatusConnector "
+"object. The TransactionStatusConnector passes the transaction Uid/"
+"transaction type to the TransactionStatusManager in order to retrieve the "
+"transactions status."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:440
+#, no-c-format
+msgid "Expired Scanner Thread"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:441
+#, no-c-format
+msgid ""
+"When the Recovery Manager initialises an expiry scanner thread "
+"ExpiryEntryMonitor is created which is used to remove long dead items from "
+"the ObjectStore. A number of scanner modules are dynamically loaded which "
+"remove long dead items for a particular type."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:444
+#, no-c-format
+msgid ""
+"Scanner modules are loaded at initialisation and are specified as properties "
+"beginning with"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:447
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
+"Class>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:448
+#, no-c-format
+msgid ""
+"All the scanner modules are called periodically to scan for dead items by "
+"the ExpiryEntryMonitor thread. This period is set with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:451
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:452
+#, no-c-format
+msgid ""
+"All scanners inherit the same behaviour from the java interface "
+"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:460
+#, no-c-format
+msgid ""
+"A scan method is provided by this interface and implemented by all scanner "
+"modules, this is the method that gets called by the scanner thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:463
+#, no-c-format
+msgid ""
+"The ExpiredTransactionStatusManagerScanner removes long dead "
+"TransactionStatusManagerItems from the Object Store. These items will remain "
+"in the Object Store for a period of time before they are deleted. This time "
+"is set by the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:466
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:467
+#, no-c-format
+msgid "(default 12 hours)"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:472
+#, no-c-format
+msgid "Application Process"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:473
+#, no-c-format
+msgid ""
+"This represents the user transactional program. A Local transaction (hash) "
+"table, maintained within the running application process keeps trace of the "
+"current status of all transactions created by that application process, The "
+"Recovery Manager needs access to the transaction tables so that it can "
+"determine whether a transaction is still in progress, if so then recovery "
+"does not happen."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:476
+#, no-c-format
+msgid ""
+"The transaction tables are accessed via the TransactionStatusManager object. "
+"On application program initialisation the host/port pair that represents the "
+"TransactionStatusManager is written to the Object Store in '../Recovery/"
+"TransactionStatusManager’ part of the Object Store file hierarchy and "
+"identified by the process Uid of the application process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:479
+#, no-c-format
+msgid ""
+"The Recovery Manager uses the TransactionStatusConnectionManager object to "
+"retrieve the status of a transaction and a TransactionStatusConnector object "
+"is used to make a TCP connection to the TransactionStatusManager."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:484
+#, no-c-format
+msgid "TransactionStatusManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:485
+#, no-c-format
+msgid ""
+"This object acts as an interface for the Recovery Manager to obtain the "
+"status of transactions from running HPTS application processes. One "
+"TransactionStatusManager is created per application process by the class com."
+"arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used "
+"for communication between the RecoveryManager and TransactionStatusManager. "
+"Any free port is used by the TransactionStatusManager by default, however "
+"the port can be fixed with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:488
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:489
+#, no-c-format
+msgid ""
+"On creation the TransactionStatusManager obtains a port which it stores with "
+"the host in the Object Store as a TransactionStatusManagerItem. A Listener "
+"thread is started which waits for a connection request from a "
+"TransactionStatusConnector. When a connection is established a Connection "
+"thread is created which runs a Service (AtomicActionStatusService) which "
+"accepts a transaction Uid and a transaction type (if available) from a "
+"TransactionStatusConnector, the transaction status is obtained from the "
+"local thransaction table and returned back to the TransactionStatusConnector."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:494
+#, no-c-format
+msgid "Object Store"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:495
+#, no-c-format
+msgid ""
+"All objects are stored in a file path which is equivalent to their class "
+"inheritance. Thus AtomicAction transactions are stored in file path ../"
+"StateManager/BasicAction/AtomicAction."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:498
+#, no-c-format
+msgid ""
+"All objects are identified by a unique identifier Uid. One of the values of "
+"which is a process id in which the object was created. The Recovery Manager "
+"uses the process id to locate transaction status manager items when "
+"contacting the originator application process for the transaction status."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Author_Group.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Author_Group.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Author_Group.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: corpauthor
+#: Author_Group.xml:6
+#, no-c-format
+msgid "Red Hat Documentation Group"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Book_Info.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,46 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Book_Info.xml:6
+#, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: subtitle
+#: Book_Info.xml:7
+#, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
+msgstr ""
+
+#. Tag: para
+#: Book_Info.xml:13
+#, no-c-format
+msgid ""
+"This book is the Enterprise Application Platform edition of the JBoss "
+"Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: phrase
+#: Book_Info.xml:20
+#, no-c-format
+msgid "Logo"
+msgstr ""
+
+#. Tag: holder
+#: Book_Info.xml:26
+#, no-c-format
+msgid "&HOLDER;"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,692 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:6
+#, no-c-format
+msgid "How JBossTS manages the OTS Recovery Protocol"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:10
+#, no-c-format
+msgid "Recovery Protocol in OTS-Overview"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:11
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"appropriate decision either by roll backing or committing."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
+#, no-c-format
+msgid ""
+"A reference to a RecoveryCoordinator is returned as a result of successfully "
+"calling register_resource on the transaction Coordinator. This object, which "
+"is implicitly associated with a single Resource, can be used to drive the "
+"Resource through recovery procedures in the event of a failure occurring "
+"during the transaction."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
+#, no-c-format
+msgid "Resource and RecoveryCoordinator relationship."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:26
+#, no-c-format
+msgid "RecoveryCoordinator in JBossTS"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:27
+#, no-c-format
+msgid ""
+"On each resource registration a RecoveryCoordinator Object is expected to be "
+"created and returned to the application that invoked the register_resource "
+"operation. Behind each CORBA object there should be an object implementation "
+"or Servant object, in POA terms, which performs operations made on a "
+"RecoveryCoordinator object. Rather than to create a RecoveryCoordinator "
+"object with its associated servant on each register_resource, JBossTS "
+"enhances performance by avoiding the creation of servants but it relies on a "
+"default RecoveryCoordinator object with it’s associated default servant to "
+"manage all replay_completion invocations."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
+#, no-c-format
+msgid ""
+"In the next sections we first give an overview of the Portable Object "
+"Adapter architecture, then we describe how this architecture is used to "
+"provide RecoveryCoordinator creation with optimization as explained above."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
+#, no-c-format
+msgid "Understanding POA"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:35
+#, no-c-format
+msgid ""
+"Basically, the Portable Object Adapter, or POA is an object that intercepts "
+"a client request and identifies the object that satisfies the client "
+"request. The Object is then invoked and the response is returned to the "
+"client."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
+#, no-c-format
+msgid "Overview of the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:45
+#, no-c-format
+msgid ""
+"The object that performs the client request is referred as a servant, which "
+"provides the implementation of the CORBA object requested by the client. A "
+"servant provides the implementation for one or more CORBA object references. "
+"To retreive a servant, each POA maintains an Active Object Map that maps all "
+"objects that have been activated in the POA to a servant. For each incoming "
+"request, the POA looks up the object reference in the Active Object Map and "
+"tries to find the responsible servant. If none is found, the request is "
+"either delegated to a default servant, or a servant manager is invoked to "
+"activate or locate an appropriate servant. In addition to the name space for "
+"the objects, which are identified by Object Ids, a POA also provides a name "
+"space for POAs. A POA is created as a child of an existing POA, which forms "
+"a hierarchy starting with the root POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
+#, no-c-format
+msgid ""
+"Each POA has a set of policies that define its characteristics. When "
+"creating a new POA, the default set of policies can be used or different "
+"values can be assigned that suit the application requirements. The POA "
+"specification defines:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
+#, no-c-format
+msgid ""
+"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
+"by the POA. Possible values are:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
+#, no-c-format
+msgid ""
+"ORB_CTRL_MODEL (default): The POA is responsible for assigning requests to "
+"threads."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:63
+#, no-c-format
+msgid "SINGLE_THREAD_MODEL: The POA processes requests sequentially"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:70
+#, no-c-format
+msgid ""
+"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
+"implemented in the POA. The lifespan policy can have the following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
+#, no-c-format
+msgid ""
+"TRANSIENT (Default) Objects implemented in the POA cannot outlive the "
+"process in which they are first created. Once the POA is deactivated, an "
+"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
+"references generated by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:80
+#, no-c-format
+msgid ""
+"PERSISTENT Objects implemented in the POA can outlive the process in which "
+"they are first created."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
+#, no-c-format
+msgid ""
+"Object ID Uniqueness policy: Allows a single servant to be shared by many "
+"abstract objects. The Object ID Uniqueness policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
+#, no-c-format
+msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
+#, no-c-format
+msgid ""
+"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
+"ID must be determined within the method being invoked at run time."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
+#, no-c-format
+msgid ""
+"ID Assignment policy: Specifies whether object IDs are generated by server "
+"applications or by the POA. The ID Assignment policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
+#, no-c-format
+msgid "USER_ID is for persistent objects, and"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:114
+#, no-c-format
+msgid "SYSTEM_ID is for transient objects."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:121
+#, no-c-format
+msgid ""
+"Servant Retention policy: Specifies whether the POA retains active servants "
+"in the Active Object Map. The Servant Retention policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
+#, no-c-format
+msgid ""
+"RETAIN (Default) The POA tracks object activations in the Active Object Map. "
+"RETAIN is usually used with ServantActivators or explicit activation methods "
+"on POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
+#, no-c-format
+msgid ""
+"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
+"NON_RETAIN is typically used with ServantLocators."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
+#, no-c-format
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:143
+#, no-c-format
+msgid ""
+"USE_ACTIVE_OBJECT_MAP (Default): If the Object ID is not listed in the "
+"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
+"also use the RETAIN policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
+#, no-c-format
+msgid ""
+"USE_DEFAULT_SERVANT: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the request is dispatched to the default "
+"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
+"is returned. The POA must also use the MULTIPLE_ID policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
+#, no-c-format
+msgid ""
+"USE_SERVANT_MANAGER: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
+"servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
+#, no-c-format
+msgid ""
+"Implicit Activation policy: Specifies whether the POA supports implicit "
+"activation of servants. The Implicit Activation policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
+#, no-c-format
+msgid ""
+"IMPLICIT_ACTIVATION: The POA supports implicit activation of servants. "
+"Servants can be activated by converting them to an object reference with "
+"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> "
+"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
+"also use the SYSTEM_ID and RETAIN policies with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
+#, no-c-format
+msgid ""
+"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
+"activation of servants."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
+#, no-c-format
+msgid ""
+"It appears that to redirect replay_completion invocations to a default "
+"servant we need to create a POA with the Request Processing policy assigned "
+"with the value set to USE_DEFAULT_SERVANT. However to reach that default "
+"Servant we should first reach the POA that forward the request to the "
+"default servant. Indeed, the ORB uses a set of information to retrieve a "
+"POA; these information are contained in the object reference used by the "
+"client. Among these information there are the IP address and the port number "
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
+#, no-c-format
+msgid "The default RecoveryCoordinator in Orbix"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:183
+#, no-c-format
+msgid ""
+"Within Orbix, objects are located by the Location Deamon. To avoid the "
+"overhead of using the location daemon, Orbix provides a mechanism named "
+"<emphasis>Direct Persistence</emphasis> allowing generating persistent "
+"object references. This mechanism is in fact a proprietary policy named, "
+"DIRECT_PERSISTENCE. A POA with policies of PERSISTENT and DIRECT_PERSISTENCE "
+"generates IORs that contain a well-known address for the server process. A "
+"POA that uses direct persistence must also tell each transport mechanism "
+"such as IIOP where in the configuration file it can find the well-known "
+"address that it should use. This is done by creating a "
+"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
+"configuration scope that contains the well-known address."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
+#, no-c-format
+msgid ""
+"To specify the address used by the <code>WellKnownAddressingPolicy</code> "
+"object, JBossTS uses the Orbix mechanism that allows specifying an ORB/POA "
+"names. The following configuration modifications are necessary to define the "
+"well-know address of the RecoveryCoordinator performing replay_completion "
+"invocation."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
+#, no-c-format
+msgid ""
+"Note that this configuration is also necessary to support transaction "
+"context propagation and interposition."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
+#, no-c-format
+msgid ""
+"A new orb name domain called arjuna should be created within the main Orbix "
+"2000 domain being used by the application. It requires the following format:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
+#, no-c-format
+msgid ""
+"arjuna\n"
+"{\n"
+" portable_interceptor\n"
+" {\n"
+" orb_plugins = [\"local_log_stream\", \"iiop_profile\", \"giop"
+"\", \"iiop\", \"portable_interceptor\"];\n"
+" \n"
+" ots_recovery_coordinator\n"
+" {\n"
+" recovery_coordinator:iiop:addr_list = [“<name>:"
+"<port>”];\n"
+" };\n"
+" \n"
+" ots_transaction\n"
+" {\n"
+" transaction:iiop:addr_list = [“+<name>:<"
+"port>”];\n"
+" }; \n"
+" ots_context\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Context\", "
+"\"OTS_Context+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Context+GIOP+IIOP\", \"GIOP"
+"+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Context\", "
+"\"\"];\n"
+" };\n"
+" \n"
+" ots_interposition\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Interposition"
+"\", \"OTS_Interposition+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Interposition+GIOP"
+"+IIOP\", \"GIOP+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Interposition"
+"\", \"\"];\n"
+" };\n"
+" };\n"
+"};"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:198
+#, no-c-format
+msgid ""
+"The <name> field should be substituted by the name of the machine on "
+"which JBossTS is being run. The <port> field should be an unused port "
+"on which the JBossTS recovery manager may listen for recovery requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
+#, no-c-format
+msgid ""
+"Because of the way in which Orbix works with persistent POAs, if you want "
+"crash recovery support for your applications you must use one of the Arjuna "
+"ORB names provided (context or interposition) when running your clients and "
+"services. When using transaction context propagation only, the<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> parameter should "
+"be passed to the client and server. When using context propagation and "
+"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
+"ots_interposition</parameter> parameter should be used. For example:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
+#, no-c-format
+msgid "java mytest –ORBname arjuna.portable_interceptor.ots_context"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:206
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:287
+#, no-c-format
+msgid "How it works"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:207
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application. The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs all replay_invocations requests."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
+#, no-c-format
+msgid ""
+"The Recovery Manager and the creation of the default servant for "
+"RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
+#, no-c-format
+msgid ""
+"There is one recovery Manager Process per machine, then one default servant "
+"per machine. Performing all replay_completion invocations means those made "
+"on the same machine."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
+#, no-c-format
+msgid ""
+"When started, the application, using JBossTS in library mode, is launched a "
+"child POA is created with the same policies as those defined within the "
+"Recovery Manager. This child POA is used to create object references, for "
+"RecoveryCoordinator CORBA objects, that need to be returned on "
+"register_resource invocations, as illustrated in figure below. The Object "
+"reference created has an Object ID that contains the transaction ID in "
+"progress and the Process Identifier of the application."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
+#, no-c-format
+msgid ""
+"If the Transaction Service is used in the stand-alone mode, the behavior to "
+"create object reference to RecoveryCoordinator objects is exactly the same; "
+"the process ID used in the Object ID is the Transaction Service process ID"
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
+#, no-c-format
+msgid ""
+"Having the object reference of the RecoveryCoordinator, an application can "
+"use it to determine the status of the transaction for which that object "
+"reference is created. When a RecoveryCoordinator, according to POA policies "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
+"described in the figure below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
+#, no-c-format
+msgid "The flow described in the figure can be depicted as follow:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:250
+#, no-c-format
+msgid ""
+"The participant invokes the replay_completion operation on "
+"RecoveryCoordinator object using the object reference returned by the "
+"Transaction Server."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
+#, no-c-format
+msgid ""
+"The request is forwarded to the Recovery Manager process since the Well-"
+"known-address policy is used to retrieve."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
+#, no-c-format
+msgid "The child POA responsible to locate the servant is retrieved."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:265
+#, no-c-format
+msgid ""
+"After looking to the Active Object Map, the child POA invokes the default "
+"servant to perform the request. Note that the Object ID conveyed by the "
+"object reference is not retrieved in the AOP."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
+#, no-c-format
+msgid ""
+"The servant extracts from the request the Object ID that contains the "
+"Transaction ID and the process ID of the Transaction Server process. To "
+"determine if the process still alive, the TransactionStatusConnectionManager "
+"functionalities are used."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
+#, no-c-format
+msgid ""
+"According to the presence or not of the Transaction Server process and "
+"eventually the returned status, the servant returns the status of the "
+"transaction asked by the participant."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
+#, no-c-format
+msgid "The default RecoveryCoordinator in JacOrb"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:283
+#, no-c-format
+msgid ""
+"JacORB does not define additional policies to redirect any request on a "
+"RecoveryCoordinator object to a default servant located in the Recovery "
+"Manager process. However it provides a set of APIs that allows building "
+"object references with specific IP address, port number and POA name in "
+"order to reach the appropriate default servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager ) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application (JacORB). The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs replay_completion invocations requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
+#, no-c-format
+msgid ""
+"In addition to the creation of the default servant, an object reference to a "
+"<code>RecoveryCoordinator</code> object is created and stored in the "
+"ObjectStore. As we will see this object reference will be used to obtain its "
+"IP address, port number and POA name and assign them to any "
+"<code>RecoveryCoordinator</code> object reference created on "
+"register_resource."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
+#, no-c-format
+msgid ""
+"When an application registers a resource with a transaction, a "
+"<code>RecoveryCoordinator</code> object reference is expected to be "
+"returned. To build that object reference, the Transaction Service uses the "
+"RecoveryCoordinator object reference created within the Recovery Manager as "
+"a template. The new object reference contains practically the same "
+"information to retrieve the default servant (IP address, port number, POA "
+"name, etc.), but the Object ID is changed; now, it contains the Transaction "
+"ID of the transaction in progress and also the Process ID of the process "
+"that is creating the new <code>RecoveryCoordinator</code> object reference, "
+"as illustrated below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference "
+"build from a reference stored in the ObjectStore."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
+#, no-c-format
+msgid ""
+"Since a <code>RecoveryCoordintaor</code> object reference returned to an "
+"application contains all information to retrieve the POA then the default "
+"servant located in the Recovery Manager, all replay_completion invocation, "
+"per machine, are forwarded to the same default <code>RecoveryCoordinator</"
+"code> that is able to retreive the Object ID from the incoming request to "
+"extract the transaction identifier and the process identifier needed to "
+"determine the status of the requested transaction."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/JBoss_Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Preface.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Preface.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Preface.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Preface.xml:6
+#, no-c-format
+msgid "Preface"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Revision_History.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,26 @@
+# Language pt-BR translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
+#. Tag: author
+#: Revision_History.xml:12
+#, no-c-format
+msgid "<firstname></firstname> <surname></surname> <email></email>"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/pt-BR/Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Appendix.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Appendix.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Appendix.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-08-05 01:23+0000\n"
+"PO-Revision-Date: 2008-08-05 01:23+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Appendix.xml:9
+#, no-c-format
+msgid "Revision History"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Architecture_of_the_Recovery_Manager.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Architecture_of_the_Recovery_Manager.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Architecture_of_the_Recovery_Manager.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,1481 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:6
+#, no-c-format
+msgid "Architecture of the Recovery Manager"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:8
+#, no-c-format
+msgid "Crash Recovery Overview"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:9
+#, no-c-format
+msgid ""
+"The main architectural components within Crash Recovery are illustrated in "
+"the diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:17
+#, no-c-format
+msgid ""
+"The Recovery Manager is a daemon process responsible for performing crash "
+"recovery. Only one Recovery Manager runs per node. The Object Store provides "
+"persistent data storage for transactions to log data. During normal "
+"transaction processing each transaction will log persistent data needed for "
+"the commit phase to the Object Store. On successfully committing a "
+"transaction this data is removed, however if the transaction fails then this "
+"data remains within the Object Store."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:20
+#, no-c-format
+msgid "The Recovery Manager functions by:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:25
+#, no-c-format
+msgid ""
+"Periodically scanning the Object Store for transactions that may have "
+"failed. Failed transactions are indicated by the presence of log data after "
+"a period of time that the transaction would have normally been expected to "
+"finish."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:30
+#, no-c-format
+msgid ""
+"Checking with the application process which originated the transaction "
+"whether the transaction is still in progress or not."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:35
+#, no-c-format
+msgid ""
+"Recovering the transaction by re-activating the transaction and then "
+"replaying phase two of the commit protocol."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:40
+#, no-c-format
+msgid ""
+"The following sections describe the architectural components in more detail"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:46
+#, no-c-format
+msgid "Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:47
+#, no-c-format
+msgid ""
+"On initialization the Recovery Manager first loads in configuration "
+"information via a properties file. This configuration includes a number of "
+"recovery activators and recovery modules, which are then dynamically loaded."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:50
+#, no-c-format
+msgid ""
+"Since the version 3.0 of JBossTS, the Recovery Manager is not specifically "
+"tied to an Object Request Broker or ORB. Hence, the OTS recovery protocol is "
+"not implicitly enabled. To enable such protocol, we use the concept of "
+"recovery activator, defined with the interface "
+"<interfacename>RecoveryActivator</interfacename>, which is used to "
+"instantiate a recovery class related to the underlying communication "
+"protocol. For instance, when used with OTS, the "
+"<interfacename>RecoveryActivitor</interfacename> has the responsibility to "
+"create a RecoveryCoordinator object able to respond to the replay_completion "
+"operation."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:53
+#, no-c-format
+msgid ""
+"All <interfacename>RecoveryActivator</interfacename> instances inherit the "
+"same interface. They are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:56
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery."
+"recoveryActivator_<number>\" value=\"RecoveryClass\" />"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:57
+#, no-c-format
+msgid ""
+"For instance the <interfacename>RecoveryActivator</interfacename> provided "
+"in the distribution of JTS/OTS, which shall not be commented, is as follow:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:60
+#, no-c-format
+msgid ""
+"<property \n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryActivator_1\" value="
+"\"com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:61
+#, no-c-format
+msgid ""
+"When loaded all <interfacename>RecoveryActivator</interfacename> instances "
+"provide the method <methodname>startRCservice</methodname> invoked by the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:64
+#, no-c-format
+msgid ""
+"Each recovery module is used to recover a different type of transaction/"
+"resource, however each recovery module inherits the same basic behavior."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:67
+#, no-c-format
+msgid ""
+"Recovery consists of two separate passes/phases separated by two timeout "
+"periods. The first pass examines the object store for potentially failed "
+"transactions; the second pass performs crash recovery on failed "
+"transactions. The timeout between the first and second pass is known as the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:70
+#, no-c-format
+msgid ""
+"The Recovery Manager invokes the first pass upon each recovery module, "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:73
+#, no-c-format
+msgid ""
+"The recovery modules are loaded via the following recovery extension "
+"property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:76
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryExtension<number>=<"
+"RecoveryClass>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:77
+#, no-c-format
+msgid ""
+"The backoff period and recovery period are set using the following "
+"properties:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:80
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod (default 10 "
+"secs)\n"
+"com.arjuna.ats.arjuna.recovery.periodicRecovery (default 120 "
+"secs)"
+msgstr ""
+
+#. 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:86
+#, no-c-format
+msgid "package <package>com.arjuna.ats.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:91
+#, no-c-format
+msgid ""
+"RecoveryManager: The daemon process that starts up by instantiating an "
+"instance of the RecoveryManagerImple class."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:96
+#, no-c-format
+msgid "RecoveryEnvironment: Properties used by the recovery manager."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:101
+#, no-c-format
+msgid ""
+"RecoveryConfiguration: Specifies the name of the Recovery Manager property "
+"file. (for instance, RecoveryManager-properties.xml)"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:108
+#, no-c-format
+msgid "package <package>com.arjuna.ats.internal.ts.arjuna.recovery</package>:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:113
+#, no-c-format
+msgid ""
+"RecoveryManagerImple: Creates and starts instances of the "
+"RecActivatorLoader, the PeriodicRecovery thread and the ExpiryEntryMonitor "
+"thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:118
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:123
+#, no-c-format
+msgid ""
+"PeriodicRecovery: Thread which loads each recovery module, then calls the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:128
+#, no-c-format
+msgid ""
+"RecoveryClassLoader: Dynamically loads in the recovery modules specified in "
+"the Recovery Manager property file. Each module is specified as a recovery "
+"extension in the properties file (for instance, com.arjuna.ats.arjuna."
+"recovery.recoveryExtension1= com.arjuna.ats.internal.ts.arjuna.recovery."
+"AtomicActionRecoveryModule)."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:136
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:141
+#, no-c-format
+msgid "Embedding the Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:142
+#, no-c-format
+msgid ""
+"In some situations it may be required to embed the RecoveryManager in the "
+"same process as the transaction service. In this case you can create an "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:148
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:153
+#, no-c-format
+msgid ""
+"DIRECT_MANAGEMENT: the manager does not run periodically and must be driven "
+"directly via the scan operation or RecoveryDriver."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:159
+#, no-c-format
+msgid "Managing recovery directly"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:160
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:165
+#, no-c-format
+msgid "Seperate Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:166
+#, no-c-format
+msgid ""
+"You can either use the com.arjuna.ats.arjuna.tools.RecoveryMonitor program "
+"to send a message to the Recovery Manager instructing it to perform "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:172
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:177
+#, no-c-format
+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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:183
+#, no-c-format
+msgid "In process Recovery Manager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:184
+#, no-c-format
+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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:188
+#, no-c-format
+msgid ""
+"public interface RecoveryScan\n"
+"{\n"
+" public void completed ();\n"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:189
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:195
+#, no-c-format
+msgid "Recovery Modules"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:196
+#, no-c-format
+msgid ""
+"As stated before each recovery module is used to recover a different type of "
+"transaction/resource, but each recovery module must implement the following "
+"RecoveryModule interface, which defines two methods: "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname> invoked by the Recovery "
+"Manager."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:199
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:201
+#, no-c-format
+msgid "JBossTS Recovery Module Classes"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:202
+#, no-c-format
+msgid ""
+"JBossTS provides a set of recovery modules that are responsible to manage "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:209
+#, no-c-format
+msgid "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:210
+#, no-c-format
+msgid "Recovers AtomicAction transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:217
+#, no-c-format
+msgid "com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:218
+#, no-c-format
+msgid "Recovers Transactional Objects for Java."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:225
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions.TransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:226
+#, no-c-format
+msgid ""
+"Recovers JTS Transactions. This is a generic class from which TopLevel and "
+"Server transaction recovery modules inherit, respectively"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:233
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"TopLevelTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:234
+#, no-c-format
+msgid "Recovers JTS Toplevel Transactions."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:241
+#, no-c-format
+msgid ""
+"com.arjuna.ats.internal.jts.recovery.transactions."
+"ServerTransactionRecoveryModule"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:242
+#, no-c-format
+msgid "Recovers JTS Server Transactions."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:248
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:252
+#, no-c-format
+msgid "AtomicAction pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:253
+#, no-c-format
+msgid "First Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:257
+#, no-c-format
+msgid ""
+"< create a transaction vector for transaction Uids. >\n"
+"< read in all transactions for a transaction type AtomicAction. >\n"
+"while < there are transactions in the vector of transactions. >\n"
+"do\n"
+" < add the transaction to the vector of transactions. >\n"
+"end while."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:258
+#: Architecture_of_the_Recovery_Manager.xml:267
+#, no-c-format
+msgid "Second Pass:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:261
+#, no-c-format
+msgid ""
+"while < there are transactions in the transaction vector >\n"
+"do\n"
+" if < the intention list for the transaction still exists >\n"
+" then\n"
+" < create new transaction cached item >\n"
+" < obtain the status of the transaction >\n"
+" \n"
+" if < the transaction is not in progress >\n"
+" then\n"
+" < replay phase two of the commit protocol >\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:263
+#, no-c-format
+msgid "Transactional Object pseudo code"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:264
+#, no-c-format
+msgid "First Pass"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:266
+#, no-c-format
+msgid ""
+"< Create a hash table for uncommitted transactional objects. >\n"
+"< Read in all transactional objects within the object store. >\n"
+"while < there are transactional objects >\n"
+"do\n"
+" if < the transactional object has an Uncommited status in "
+"the object store >\n"
+" then\n"
+" < add the transactional Object o the hash table for "
+"uncommitted transactional objects>\n"
+" end if.\n"
+"end while."
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:270
+#, no-c-format
+msgid ""
+"while < there are transactions in the hash table for uncommitted "
+"transactional objects >\n"
+"do\n"
+" if < the transaction is still in the Uncommitted state >\n"
+" then\n"
+" if < the transaction is not in the Transaction Cache "
+">\n"
+" then\n"
+" < check the status of the transaction with the "
+"original application process >\n"
+" if < the status is Rolled Back or the application "
+"process is inactive >\n"
+" < rollback the transaction by removing "
+"the Uncommitted status from the Object Store >\n"
+" endif.\n"
+" endif.\n"
+" endif.\n"
+"end while."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:272
+#, no-c-format
+msgid "A Recovery Module for XA Resources"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:273
+#, no-c-format
+msgid ""
+"To manage recovery, we have seen in the previous chapter that the Recovery "
+"Manager triggers a recovery process by calling a set of recovery modules "
+"that implements the two methods defined by the "
+"<interfacename>RecoveryModule</interfacename> interface."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:277
+#, no-c-format
+msgid ""
+"To enable recovery of participants controlled via the <interfacename>XA</"
+"interfacename> interface, a specific recovery module named XARecoveryModule "
+"is provided. The XARecoveryModule, defined in the packages <package>com."
+"arjuna.ats.internal.jta.recovery.arjunacore</package> and <package>com."
+"arjuna.ats.internal.jta.recovery.jts</package>, handles recovery of "
+"<interfacename>XA</interfacename> resources (for example, databases) used in "
+"JTA."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:281
+#, no-c-format
+msgid ""
+"JBossTS supports two JTA implementations: a purely local version (no "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:285
+#, no-c-format
+msgid ""
+"Its behavior consists of two aspects: <emphasis>transaction-initiated</"
+"emphasis> and <emphasis>resource-initiated</emphasis> recovery. Transaction-"
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:292
+#, no-c-format
+msgid "JTA/JDBC information stored in the ObjectStore"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:294
+#, no-c-format
+msgid ""
+"A JTA Resource record contains the information needed to link the "
+"transaction, as known to the rest of JBossTS, to the database. Resource-"
+"initiated recovery is necessary for branches where a failure occurred after "
+"the database had made a persistent record of the transaction, but before the "
+"JTA ResourceRecord was persisted. Resource-initiated recovery is also "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:298
+#, no-c-format
+msgid ""
+"When running XA recovery it is necessary to tell JBossTS which types of Xid "
+"it can recover. Each Xid that JBossTS creates has a unique node identifier "
+"encoded within it and JBossTS will only recover transactions and states that "
+"match a specified node identifier. The node identifier to use should be "
+"provided to JBossTS via a property that starts with the name <property>com."
+"arjuna.ats.jta.xaRecoveryNode</property>; multiple values may be provided. A "
+"value of ‘*’ will force JBossTS to recover (and possibly rollback) all "
+"transactions irrespective of their node identifier and should be used with "
+"caution. The contents of <property>com.arjuna.ats.jta.xaRecoveryNode</"
+"property> should be alphanumeric and match the values of <property>com."
+"arjuna.ats.arjuna.xa.nodeIdentifier</property>."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:302
+#, no-c-format
+msgid ""
+"Transaction-initiated recovery is automatic. The XARecoveryModule finds the "
+"JTA Resource Record that need recovery, then uses the normal recovery "
+"mechanisms to find the status of the transaction it was involved in (i.e., "
+"it calls replay_completion on the RecoveryCoordinator for the transaction "
+"branch), (re)creates the appropriate XAResource and issues commit or "
+"rollback on it as appropriate. The XAResource creation will use the same "
+"information, database name, username, password etc., as the original "
+"application."
+msgstr ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:309
+#, no-c-format
+msgid "Transaction-Initiated Recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:311
+#, no-c-format
+msgid ""
+"Resource-initiated recovery has to be specifically configured, by supplying "
+"the Recovery Manager with the appropriate information for it to interrogate "
+"all the databases (XADataSources) that have been accessed by any JBossTS "
+"application. The access to each XADataSource is handled by a class that "
+"implements the <interfacename>com.arjuna.ats.jta.recovery."
+"XAResourceRecovery</interfacename> interface, as illustrated in Figure 4. "
+"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 ""
+
+#. Tag: caption
+#: Architecture_of_the_Recovery_Manager.xml:318
+#, no-c-format
+msgid "Resource-initiated recovery and XA Recovery"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:321
+#, no-c-format
+msgid ""
+"JBossTS 3.3 <interfacename>XAConnectionRecovery</interfacename> was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:325
+#, no-c-format
+msgid ""
+"The XARecoveryModule will use the XAResourceRecovery implementation to get a "
+"XAResource to the target datasource. On each invocation of "
+"periodicWorkSecondPass, the recovery module will issue an XAResource.recover "
+"request – this will (as described in the XA specification) return a list of "
+"the transaction identifiers (Xid’s) that are known to the datasource and are "
+"in an indeterminate (in-doubt) state. The list of these in-doubt Xid’s "
+"received on successive passes (i.e. periodicWorkSecondPass-es) is compared. "
+"Any Xid that appears in both lists, and for which no JTA ResourceRecord was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:328
+#, no-c-format
+msgid ""
+"This double-scan mechanism is used because it is possible the Xid was "
+"obtained from the datasource just as the original application process was "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:331
+#, no-c-format
+msgid ""
+"An <classname>XAResourceRecovery</classname> implementation class can be "
+"written to contain all the information needed to perform recovery to some "
+"datasource. Alternatively, a single class can handle multiple datasources. "
+"The constructor of the implementation class must have an empty parameter "
+"list (because it is loaded dynamically), but the interface includes an "
+"initialise method which passes in further information as a string. The "
+"content of the string is taken from the property value that provides the "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:334
+#, no-c-format
+msgid ""
+"For further details on the way to implement a class that implements the "
+"interface <interfacename>XAResourceRecovery</interfacename>, read the JDBC "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:338
+#, no-c-format
+msgid "Writing a Recovery Module"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:339
+#, no-c-format
+msgid ""
+"In order to recover from failure, we have seen that the Recovery Manager "
+"contacts recovery modules by invoking periodically the methods "
+"<methodname>periodicWorkFirstPass</methodname> and "
+"<methodname>periodicWorkSecondPass</methodname>. Each Recovery Module is "
+"then able to manage recovery according to the type of resources that need to "
+"be recovered. The JBoss Transaction product is shipped with a set of "
+"recovery modules (TOReceveryModule, XARecoveryModule…), but it is possible "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:342
+#, no-c-format
+msgid "A basic scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:343
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:345
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:350
+#, no-c-format
+msgid "to decide to commit or abort the transaction,"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:355
+#, no-c-format
+msgid "to decide generating a crash during the commitment process."
+msgstr ""
+
+#. 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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:363
+#, no-c-format
+msgid ""
+"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 < 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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:364
+#, no-c-format
+msgid "The registered participant has the following behavior:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:369
+#, no-c-format
+msgid ""
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:374
+#, no-c-format
+msgid ""
+"During the commit phase, it writes another message - <emphasis>I’m "
+"committed</emphasis>- in the same file used during prepare."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:379
+#, no-c-format
+msgid ""
+"If it receives an abort message, it removes from the disk the file used for "
+"prepare if any."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:384
+#, no-c-format
+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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:389
+#, no-c-format
+msgid ""
+"The main portion of the code illustrating such behavior is described "
+"hereafter."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:393
+#, no-c-format
+msgid "The location of the file given in variable filename can be changed"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:397
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:398
+#, no-c-format
+msgid ""
+"The role of the Recovery Module in such application consists to read the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:401
+#, no-c-format
+msgid ""
+"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"
+"}"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:402
+#, no-c-format
+msgid ""
+"The recovery module should now be deployed in order to be called by the "
+"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 ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:405
+#, no-c-format
+msgid ""
+"<property\n"
+" name=\"com.arjuna.ats.arjuna.recovery.recoveryExtension<"
+"i>\"\n"
+" value=\"com.arjuna.demo.recoverymodule.SimpleRecoveryModule\"/>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:406
+#, no-c-format
+msgid ""
+"Where <i> 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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:410
+#, no-c-format
+msgid ""
+"The source of the code can be retrieved under the trailmap directory of the "
+"JBossTS installation."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:415
+#, no-c-format
+msgid "Another scenario"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:416
+#, no-c-format
+msgid ""
+"As mentioned, the basic application presented above does not present the "
+"complete process to recover from failure, but it was just presented to "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:420
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:423
+#, no-c-format
+msgid ""
+"For each OTS Resource in a doubt status, it is well known which "
+"RecoveyCoordinator to invoke to determine the status of the transaction in "
+"which the Resource is involved – It’s the RecoveryCoordinator returned "
+"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 ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:426
+#, no-c-format
+msgid ""
+"A recovery module dedicated to recover OTS Resources could have the "
+"following behavior. When requested by the recovery Manager on the first pass "
+"it retrieves from the disk the list of resources that are in the doubt "
+"status. During the second pass, if the resources that were retrieved in the "
+"first pass still remain in the disk then they are considered as candidates "
+"for recovery. Therefore, the Recovery Module retrieves for each candidate "
+"its associated RecoveryCoordinator and invokes the replay_completion "
+"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 ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:431
+#, no-c-format
+msgid "TransactionStatusConnectionManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:432
+#, no-c-format
+msgid ""
+"The TransactionStatusConnectionManager object is used by the recovery "
+"modules to retrieve the status of transactions and acts like a proxy for "
+"TransactionStatusManager objects. It maintains a table of "
+"TransactionStatusConnector obects each of which connects to a "
+"TransactionStatusManager object in an Application Process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:435
+#, no-c-format
+msgid ""
+"The transactions status is retrieved using the getTransactionStatus methods "
+"which take a transaction Uid and if available a transaction type as "
+"parameters. The process Uid field in the transactions Uid parameter is used "
+"to lookup the target TransactionStatusManagerItem host/port pair in the "
+"Object Store. The host/port pair are used to make a TCP connection to the "
+"target TransactionStatusManager object by a TransactionStatusConnector "
+"object. The TransactionStatusConnector passes the transaction Uid/"
+"transaction type to the TransactionStatusManager in order to retrieve the "
+"transactions status."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:440
+#, no-c-format
+msgid "Expired Scanner Thread"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:441
+#, no-c-format
+msgid ""
+"When the Recovery Manager initialises an expiry scanner thread "
+"ExpiryEntryMonitor is created which is used to remove long dead items from "
+"the ObjectStore. A number of scanner modules are dynamically loaded which "
+"remove long dead items for a particular type."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:444
+#, no-c-format
+msgid ""
+"Scanner modules are loaded at initialisation and are specified as properties "
+"beginning with"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:447
+#, no-c-format
+msgid ""
+"com.arjuna.ats.arjuna.recovery.expiryScanner<Scanner Name>=<Scanner "
+"Class>"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:448
+#, no-c-format
+msgid ""
+"All the scanner modules are called periodically to scan for dead items by "
+"the ExpiryEntryMonitor thread. This period is set with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:451
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.expiryScanInterval"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:452
+#, no-c-format
+msgid ""
+"All scanners inherit the same behaviour from the java interface "
+"<interfacename>ExpiryScanner</interfacename> as illustrated in diagram below:"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:460
+#, no-c-format
+msgid ""
+"A scan method is provided by this interface and implemented by all scanner "
+"modules, this is the method that gets called by the scanner thread."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:463
+#, no-c-format
+msgid ""
+"The ExpiredTransactionStatusManagerScanner removes long dead "
+"TransactionStatusManagerItems from the Object Store. These items will remain "
+"in the Object Store for a period of time before they are deleted. This time "
+"is set by the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:466
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:467
+#, no-c-format
+msgid "(default 12 hours)"
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:472
+#, no-c-format
+msgid "Application Process"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:473
+#, no-c-format
+msgid ""
+"This represents the user transactional program. A Local transaction (hash) "
+"table, maintained within the running application process keeps trace of the "
+"current status of all transactions created by that application process, The "
+"Recovery Manager needs access to the transaction tables so that it can "
+"determine whether a transaction is still in progress, if so then recovery "
+"does not happen."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:476
+#, no-c-format
+msgid ""
+"The transaction tables are accessed via the TransactionStatusManager object. "
+"On application program initialisation the host/port pair that represents the "
+"TransactionStatusManager is written to the Object Store in '../Recovery/"
+"TransactionStatusManager’ part of the Object Store file hierarchy and "
+"identified by the process Uid of the application process."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:479
+#, no-c-format
+msgid ""
+"The Recovery Manager uses the TransactionStatusConnectionManager object to "
+"retrieve the status of a transaction and a TransactionStatusConnector object "
+"is used to make a TCP connection to the TransactionStatusManager."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:484
+#, no-c-format
+msgid "TransactionStatusManager"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:485
+#, no-c-format
+msgid ""
+"This object acts as an interface for the Recovery Manager to obtain the "
+"status of transactions from running HPTS application processes. One "
+"TransactionStatusManager is created per application process by the class com."
+"arjuna.ats.arjuna.coordinator.InitAction. Currently a tcp connection is used "
+"for communication between the RecoveryManager and TransactionStatusManager. "
+"Any free port is used by the TransactionStatusManager by default, however "
+"the port can be fixed with the property:"
+msgstr ""
+
+#. Tag: screen
+#: Architecture_of_the_Recovery_Manager.xml:488
+#, no-c-format
+msgid "com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:489
+#, no-c-format
+msgid ""
+"On creation the TransactionStatusManager obtains a port which it stores with "
+"the host in the Object Store as a TransactionStatusManagerItem. A Listener "
+"thread is started which waits for a connection request from a "
+"TransactionStatusConnector. When a connection is established a Connection "
+"thread is created which runs a Service (AtomicActionStatusService) which "
+"accepts a transaction Uid and a transaction type (if available) from a "
+"TransactionStatusConnector, the transaction status is obtained from the "
+"local thransaction table and returned back to the TransactionStatusConnector."
+msgstr ""
+
+#. Tag: title
+#: Architecture_of_the_Recovery_Manager.xml:494
+#, no-c-format
+msgid "Object Store"
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:495
+#, no-c-format
+msgid ""
+"All objects are stored in a file path which is equivalent to their class "
+"inheritance. Thus AtomicAction transactions are stored in file path ../"
+"StateManager/BasicAction/AtomicAction."
+msgstr ""
+
+#. Tag: para
+#: Architecture_of_the_Recovery_Manager.xml:498
+#, no-c-format
+msgid ""
+"All objects are identified by a unique identifier Uid. One of the values of "
+"which is a process id in which the object was created. The Recovery Manager "
+"uses the process id to locate transaction status manager items when "
+"contacting the originator application process for the transaction status."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Author_Group.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Author_Group.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Author_Group.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: corpauthor
+#: Author_Group.xml:6
+#, no-c-format
+msgid "Red Hat Documentation Group"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Book_Info.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Book_Info.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Book_Info.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,46 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Book_Info.xml:6
+#, no-c-format
+msgid "JBoss Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: subtitle
+#: Book_Info.xml:7
+#, no-c-format
+msgid "for Use with JBoss Enterprise Application Platform 4.3"
+msgstr ""
+
+#. Tag: para
+#: Book_Info.xml:13
+#, no-c-format
+msgid ""
+"This book is the Enterprise Application Platform edition of the JBoss "
+"Transactions Failure Recovery Guide"
+msgstr ""
+
+#. Tag: phrase
+#: Book_Info.xml:20
+#, no-c-format
+msgid "Logo"
+msgstr ""
+
+#. Tag: holder
+#: Book_Info.xml:26
+#, no-c-format
+msgid "&HOLDER;"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/How_JBossTS_managers_the_OTS_Recovery_Protocol.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/How_JBossTS_managers_the_OTS_Recovery_Protocol.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/How_JBossTS_managers_the_OTS_Recovery_Protocol.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,692 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:6
+#, no-c-format
+msgid "How JBossTS manages the OTS Recovery Protocol"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:10
+#, no-c-format
+msgid "Recovery Protocol in OTS-Overview"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:11
+#, no-c-format
+msgid ""
+"To manage recovery in case of failure, the OTS specification has defined a "
+"recovery protocol. Transaction’s participants in a doubt status could use "
+"the RecoveryCoordinator to determine the status of the transaction. "
+"According to that transaction status, those participants can take "
+"appropriate decision either by roll backing or committing."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:14
+#, no-c-format
+msgid ""
+"A reference to a RecoveryCoordinator is returned as a result of successfully "
+"calling register_resource on the transaction Coordinator. This object, which "
+"is implicitly associated with a single Resource, can be used to drive the "
+"Resource through recovery procedures in the event of a failure occurring "
+"during the transaction."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:21
+#, no-c-format
+msgid "Resource and RecoveryCoordinator relationship."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:26
+#, no-c-format
+msgid "RecoveryCoordinator in JBossTS"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:27
+#, no-c-format
+msgid ""
+"On each resource registration a RecoveryCoordinator Object is expected to be "
+"created and returned to the application that invoked the register_resource "
+"operation. Behind each CORBA object there should be an object implementation "
+"or Servant object, in POA terms, which performs operations made on a "
+"RecoveryCoordinator object. Rather than to create a RecoveryCoordinator "
+"object with its associated servant on each register_resource, JBossTS "
+"enhances performance by avoiding the creation of servants but it relies on a "
+"default RecoveryCoordinator object with it’s associated default servant to "
+"manage all replay_completion invocations."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:30
+#, no-c-format
+msgid ""
+"In the next sections we first give an overview of the Portable Object "
+"Adapter architecture, then we describe how this architecture is used to "
+"provide RecoveryCoordinator creation with optimization as explained above."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:34
+#, no-c-format
+msgid "Understanding POA"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:35
+#, no-c-format
+msgid ""
+"Basically, the Portable Object Adapter, or POA is an object that intercepts "
+"a client request and identifies the object that satisfies the client "
+"request. The Object is then invoked and the response is returned to the "
+"client."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:43
+#, no-c-format
+msgid "Overview of the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:45
+#, no-c-format
+msgid ""
+"The object that performs the client request is referred as a servant, which "
+"provides the implementation of the CORBA object requested by the client. A "
+"servant provides the implementation for one or more CORBA object references. "
+"To retreive a servant, each POA maintains an Active Object Map that maps all "
+"objects that have been activated in the POA to a servant. For each incoming "
+"request, the POA looks up the object reference in the Active Object Map and "
+"tries to find the responsible servant. If none is found, the request is "
+"either delegated to a default servant, or a servant manager is invoked to "
+"activate or locate an appropriate servant. In addition to the name space for "
+"the objects, which are identified by Object Ids, a POA also provides a name "
+"space for POAs. A POA is created as a child of an existing POA, which forms "
+"a hierarchy starting with the root POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:48
+#, no-c-format
+msgid ""
+"Each POA has a set of policies that define its characteristics. When "
+"creating a new POA, the default set of policies can be used or different "
+"values can be assigned that suit the application requirements. The POA "
+"specification defines:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:53
+#, no-c-format
+msgid ""
+"<emphasis>Thread policy:</emphasis> Specifies the threading model to be used "
+"by the POA. Possible values are:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:58
+#, no-c-format
+msgid ""
+"ORB_CTRL_MODEL (default): The POA is responsible for assigning requests to "
+"threads."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:63
+#, no-c-format
+msgid "SINGLE_THREAD_MODEL: The POA processes requests sequentially"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:70
+#, no-c-format
+msgid ""
+"<emphasis>Lifespan policy:</emphasis> Specifies the lifespan of the objects "
+"implemented in the POA. The lifespan policy can have the following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:75
+#, no-c-format
+msgid ""
+"TRANSIENT (Default) Objects implemented in the POA cannot outlive the "
+"process in which they are first created. Once the POA is deactivated, an "
+"OBJECT_NOT_EXIST exception occurs when attempting to use any object "
+"references generated by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:80
+#, no-c-format
+msgid ""
+"PERSISTENT Objects implemented in the POA can outlive the process in which "
+"they are first created."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:87
+#, no-c-format
+msgid ""
+"Object ID Uniqueness policy: Allows a single servant to be shared by many "
+"abstract objects. The Object ID Uniqueness policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:92
+#, no-c-format
+msgid "UNIQUE_ID (Default): Activated servants support only one Object ID."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:97
+#, no-c-format
+msgid ""
+"MULTIPLE_ID: Activated servants can have one or more Object IDs. The Object "
+"ID must be determined within the method being invoked at run time."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:104
+#, no-c-format
+msgid ""
+"ID Assignment policy: Specifies whether object IDs are generated by server "
+"applications or by the POA. The ID Assignment policy can have the following "
+"values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:109
+#, no-c-format
+msgid "USER_ID is for persistent objects, and"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:114
+#, no-c-format
+msgid "SYSTEM_ID is for transient objects."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:121
+#, no-c-format
+msgid ""
+"Servant Retention policy: Specifies whether the POA retains active servants "
+"in the Active Object Map. The Servant Retention policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:126
+#, no-c-format
+msgid ""
+"RETAIN (Default) The POA tracks object activations in the Active Object Map. "
+"RETAIN is usually used with ServantActivators or explicit activation methods "
+"on POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:131
+#, no-c-format
+msgid ""
+"NON_RETAIN The POA does not retain active servants in the Active Object Map. "
+"NON_RETAIN is typically used with ServantLocators."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:138
+#, no-c-format
+msgid ""
+"Request Processing policy: Specifies how requests are processed by the POA."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:143
+#, no-c-format
+msgid ""
+"USE_ACTIVE_OBJECT_MAP (Default): If the Object ID is not listed in the "
+"Active Object Map, an OBJECT_NOT _EXIST exception is returned. The POA must "
+"also use the RETAIN policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:148
+#, no-c-format
+msgid ""
+"USE_DEFAULT_SERVANT: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the request is dispatched to the default "
+"servant. If no default servant has been registered, an OBJ_ADAPTER exception "
+"is returned. The POA must also use the MULTIPLE_ID policy with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:153
+#, no-c-format
+msgid ""
+"USE_SERVANT_MANAGER: If the Object ID is not listed in the Active Object Map "
+"or the NON_RETAIN policy is set, the servant manager is used to obtain a "
+"servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:160
+#, no-c-format
+msgid ""
+"Implicit Activation policy: Specifies whether the POA supports implicit "
+"activation of servants. The Implicit Activation policy can have the "
+"following values:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:165
+#, no-c-format
+msgid ""
+"IMPLICIT_ACTIVATION: The POA supports implicit activation of servants. "
+"Servants can be activated by converting them to an object reference with "
+"<methodname>org.omg.PortableServer.POA.servant_to_reference()</methodname> "
+"or by invoking <methodname>_this()</methodname> on the servant. The POA must "
+"also use the SYSTEM_ID and RETAIN policies with this value."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:170
+#, no-c-format
+msgid ""
+"NO_IMPLICIT_ACTIVATION (Default): The POA does not support implicit "
+"activation of servants."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:177
+#, no-c-format
+msgid ""
+"It appears that to redirect replay_completion invocations to a default "
+"servant we need to create a POA with the Request Processing policy assigned "
+"with the value set to USE_DEFAULT_SERVANT. However to reach that default "
+"Servant we should first reach the POA that forward the request to the "
+"default servant. Indeed, the ORB uses a set of information to retrieve a "
+"POA; these information are contained in the object reference used by the "
+"client. Among these information there are the IP address and the port number "
+"where resides the server and also the POA name. JBossTS provides one servant "
+"per machine to perform replay_completion invocations. This servant is "
+"located in the RecoveryManager process. The RecoveryManager process is a "
+"separate process from the client and server applications. The next section "
+"explains how the indirection to a default Servant located on a separate "
+"process is provided for ORBIX and for JacORB."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:182
+#, no-c-format
+msgid "The default RecoveryCoordinator in Orbix"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:183
+#, no-c-format
+msgid ""
+"Within Orbix, objects are located by the Location Deamon. To avoid the "
+"overhead of using the location daemon, Orbix provides a mechanism named "
+"<emphasis>Direct Persistence</emphasis> allowing generating persistent "
+"object references. This mechanism is in fact a proprietary policy named, "
+"DIRECT_PERSISTENCE. A POA with policies of PERSISTENT and DIRECT_PERSISTENCE "
+"generates IORs that contain a well-known address for the server process. A "
+"POA that uses direct persistence must also tell each transport mechanism "
+"such as IIOP where in the configuration file it can find the well-known "
+"address that it should use. This is done by creating a "
+"<code>WellKnownAddressingPolicy</code> object and setting its value to the "
+"configuration scope that contains the well-known address."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:186
+#, no-c-format
+msgid ""
+"To specify the address used by the <code>WellKnownAddressingPolicy</code> "
+"object, JBossTS uses the Orbix mechanism that allows specifying an ORB/POA "
+"names. The following configuration modifications are necessary to define the "
+"well-know address of the RecoveryCoordinator performing replay_completion "
+"invocation."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:190
+#, no-c-format
+msgid ""
+"Note that this configuration is also necessary to support transaction "
+"context propagation and interposition."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:194
+#, no-c-format
+msgid ""
+"A new orb name domain called arjuna should be created within the main Orbix "
+"2000 domain being used by the application. It requires the following format:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:197
+#, no-c-format
+msgid ""
+"arjuna\n"
+"{\n"
+" portable_interceptor\n"
+" {\n"
+" orb_plugins = [\"local_log_stream\", \"iiop_profile\", \"giop"
+"\", \"iiop\", \"portable_interceptor\"];\n"
+" \n"
+" ots_recovery_coordinator\n"
+" {\n"
+" recovery_coordinator:iiop:addr_list = [“<name>:"
+"<port>”];\n"
+" };\n"
+" \n"
+" ots_transaction\n"
+" {\n"
+" transaction:iiop:addr_list = [“+<name>:<"
+"port>”];\n"
+" }; \n"
+" ots_context\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Context\", "
+"\"OTS_Context+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Context+GIOP+IIOP\", \"GIOP"
+"+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Context\", "
+"\"\"];\n"
+" };\n"
+" \n"
+" ots_interposition\n"
+" {\n"
+" binding:client_binding_list = [\"OTS_Interposition"
+"\", \"OTS_Interposition+GIOP+SIOP\", \"GIOP+SIOP\", \"OTS_Interposition+GIOP"
+"+IIOP\", \"GIOP+IIOP\"];\n"
+" binding:server_binding_list = [\"OTS_Interposition"
+"\", \"\"];\n"
+" };\n"
+" };\n"
+"};"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:198
+#, no-c-format
+msgid ""
+"The <name> field should be substituted by the name of the machine on "
+"which JBossTS is being run. The <port> field should be an unused port "
+"on which the JBossTS recovery manager may listen for recovery requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:201
+#, no-c-format
+msgid ""
+"Because of the way in which Orbix works with persistent POAs, if you want "
+"crash recovery support for your applications you must use one of the Arjuna "
+"ORB names provided (context or interposition) when running your clients and "
+"services. When using transaction context propagation only, the<parameter>–"
+"ORBname arjuna.portable_interceptor.ots_context</parameter> parameter should "
+"be passed to the client and server. When using context propagation and "
+"interposition, the <parameter>–ORBname.arjuna.portable_interceptor."
+"ots_interposition</parameter> parameter should be used. For example:"
+msgstr ""
+
+#. Tag: screen
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:204
+#, no-c-format
+msgid "java mytest –ORBname arjuna.portable_interceptor.ots_context"
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:206
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:287
+#, no-c-format
+msgid "How it works"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:207
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application. The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs all replay_invocations requests."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:215
+#, no-c-format
+msgid ""
+"The Recovery Manager and the creation of the default servant for "
+"RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:218
+#, no-c-format
+msgid ""
+"There is one recovery Manager Process per machine, then one default servant "
+"per machine. Performing all replay_completion invocations means those made "
+"on the same machine."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:222
+#, no-c-format
+msgid ""
+"When started, the application, using JBossTS in library mode, is launched a "
+"child POA is created with the same policies as those defined within the "
+"Recovery Manager. This child POA is used to create object references, for "
+"RecoveryCoordinator CORBA objects, that need to be returned on "
+"register_resource invocations, as illustrated in figure below. The Object "
+"reference created has an Object ID that contains the transaction ID in "
+"progress and the Process Identifier of the application."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:226
+#, no-c-format
+msgid ""
+"If the Transaction Service is used in the stand-alone mode, the behavior to "
+"create object reference to RecoveryCoordinator objects is exactly the same; "
+"the process ID used in the Object ID is the Transaction Service process ID"
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:234
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:236
+#, no-c-format
+msgid ""
+"Having the object reference of the RecoveryCoordinator, an application can "
+"use it to determine the status of the transaction for which that object "
+"reference is created. When a RecoveryCoordinator, according to POA policies "
+"is assigned to the POA included in the object reference, the request is "
+"forward straight to the default servant defined in the Recovery Manager, as "
+"described in the figure below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:243
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator ."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:245
+#, no-c-format
+msgid "The flow described in the figure can be depicted as follow:"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:250
+#, no-c-format
+msgid ""
+"The participant invokes the replay_completion operation on "
+"RecoveryCoordinator object using the object reference returned by the "
+"Transaction Server."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:255
+#, no-c-format
+msgid ""
+"The request is forwarded to the Recovery Manager process since the Well-"
+"known-address policy is used to retrieve."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:260
+#, no-c-format
+msgid "The child POA responsible to locate the servant is retrieved."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:265
+#, no-c-format
+msgid ""
+"After looking to the Active Object Map, the child POA invokes the default "
+"servant to perform the request. Note that the Object ID conveyed by the "
+"object reference is not retrieved in the AOP."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:270
+#, no-c-format
+msgid ""
+"The servant extracts from the request the Object ID that contains the "
+"Transaction ID and the process ID of the Transaction Server process. To "
+"determine if the process still alive, the TransactionStatusConnectionManager "
+"functionalities are used."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:275
+#, no-c-format
+msgid ""
+"According to the presence or not of the Transaction Server process and "
+"eventually the returned status, the servant returns the status of the "
+"transaction asked by the participant."
+msgstr ""
+
+#. Tag: title
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:282
+#, no-c-format
+msgid "The default RecoveryCoordinator in JacOrb"
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:283
+#, no-c-format
+msgid ""
+"JacORB does not define additional policies to redirect any request on a "
+"RecoveryCoordinator object to a default servant located in the Recovery "
+"Manager process. However it provides a set of APIs that allows building "
+"object references with specific IP address, port number and POA name in "
+"order to reach the appropriate default servant."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:288
+#, no-c-format
+msgid ""
+"When the Recovery Manager is launched it seeks in the configuration the "
+"RecoveryActivator that need be loaded. Once done it invokes the "
+"<methodname>startRCservice</methodname> method of each loaded instances. As "
+"seen in in the previous chapter (Recovery Manager ) the class to load that "
+"implements the <interfacename>RecoveryActivator</interfacename> interface is "
+"the class <classname>RecoveryEnablement</classname>. This generic class, "
+"located in the package <package>com.arjuna.ats.internal.jts.orbspecific."
+"recovery</package>, hides the nature of the ORB being used by the "
+"application (JacORB). The following figure illustrates the behavior of the "
+"<interfacename>RecoveryActivator</interfacename> that leads to the creation "
+"of the default servant that performs replay_completion invocations requests."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:292
+#, no-c-format
+msgid ""
+"In addition to the creation of the default servant, an object reference to a "
+"<code>RecoveryCoordinator</code> object is created and stored in the "
+"ObjectStore. As we will see this object reference will be used to obtain its "
+"IP address, port number and POA name and assign them to any "
+"<code>RecoveryCoordinator</code> object reference created on "
+"register_resource."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:299
+#, no-c-format
+msgid ""
+"replay_completion invocation forwarded to the default RecoveryCoordinator."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:301
+#, no-c-format
+msgid ""
+"When an application registers a resource with a transaction, a "
+"<code>RecoveryCoordinator</code> object reference is expected to be "
+"returned. To build that object reference, the Transaction Service uses the "
+"RecoveryCoordinator object reference created within the Recovery Manager as "
+"a template. The new object reference contains practically the same "
+"information to retrieve the default servant (IP address, port number, POA "
+"name, etc.), but the Object ID is changed; now, it contains the Transaction "
+"ID of the transaction in progress and also the Process ID of the process "
+"that is creating the new <code>RecoveryCoordinator</code> object reference, "
+"as illustrated below."
+msgstr ""
+
+#. Tag: caption
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:308
+#, no-c-format
+msgid ""
+"Resource registration and returned RecoveryCoordinator Object reference "
+"build from a reference stored in the ObjectStore."
+msgstr ""
+
+#. Tag: para
+#: How_JBossTS_managers_the_OTS_Recovery_Protocol.xml:310
+#, no-c-format
+msgid ""
+"Since a <code>RecoveryCoordintaor</code> object reference returned to an "
+"application contains all information to retrieve the POA then the default "
+"servant located in the Recovery Manager, all replay_completion invocation, "
+"per machine, are forwarded to the same default <code>RecoveryCoordinator</"
+"code> that is able to retreive the Object ID from the incoming request to "
+"extract the transaction identifier and the process identifier needed to "
+"determine the status of the requested transaction."
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/JBoss_Transactions_Failure_Recovery_Guide.po
===================================================================
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Preface.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Preface.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Preface.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,20 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Preface.xml:6
+#, no-c-format
+msgid "Preface"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Revision_History.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Revision_History.po (rev 0)
+++ projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Revision_History.po 2008-09-23 06:31:08 UTC (rev 78770)
@@ -0,0 +1,26 @@
+# Language zh-CN translations for package.
+# Automatically generated, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2008-09-23 06:30+0000\n"
+"PO-Revision-Date: 2008-09-23 06:30+0000\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: Revision_History.xml:6
+#, no-c-format
+msgid "Revision History"
+msgstr ""
+
+#. Tag: author
+#: Revision_History.xml:12
+#, no-c-format
+msgid "<firstname></firstname> <surname></surname> <email></email>"
+msgstr ""
Added: projects/docs/enterprise/4.3/Transactions/Transactions_Failure_Recovery_Guide/zh-CN/Transactions_Failure_Recovery_Guide.po
===================================================================
More information about the jboss-cvs-commits
mailing list