[jboss-svn-commits] JBL Code SVN: r25606 - in labs/jbosstm/enterprise: trunk/Programmers_Guide/en-US and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 11 22:13:34 EDT 2009


Author: irooskov at redhat.com
Date: 2009-03-11 22:13:34 -0400 (Wed, 11 Mar 2009)
New Revision: 25606

Modified:
   labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter.xml
   labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_02.xml
   labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_03.xml
   labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_07.xml
   labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter.xml
   labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_02.xml
   labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_03.xml
   labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_07.xml
Log:
updated transaction guide with JBPAPP-1712 fixes


Modified: labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter.xml
===================================================================
--- labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -25,7 +25,7 @@
             <imageobject>
                 <imagedata align="center" fileref="images/TXCore_class_hierarchy.png" />
             </imageobject>
-            <caption> Txcore class hierarchy </caption>
+            <caption>Figure 1: Txcore class hierarchy </caption>
         </mediaobject>
         
         <para>Apart from specifying the scopes of transactions, and setting appropriate locks within objects, the application programmer does not have any other responsibilities: <classname>TxCore</classname> and <emphasis>Transactional Objects for Java</emphasis> (TXOJ) guarantee that transactional objects will be registered with, and be driven by, the appropriate transactions, and crash recovery mechanisms are invoked automatically in the event of failures.</para>
@@ -124,13 +124,13 @@
         <section>
             <title>The life-cycle of a Transactional Object for Java </title>
             
-            <para>A persistent object not in use is assumed to be held in a <emphasis>passive</emphasis> state with its state residing in an object store and <emphasis>activated</emphasis> on demand. The fundamental life cycle of a persistent object in <emphasis>TXOJ</emphasis> is shown in <xref linkend="figure_2"/>.</para>
+            <para>A persistent object not in use is assumed to be held in a <emphasis>passive</emphasis> state with its state residing in an object store and <emphasis>activated</emphasis> on demand. The fundamental life cycle of a persistent object in <emphasis>TXOJ</emphasis> is shown in figure 2.</para>
             
             <mediaobject id="figure_2">
                 <imageobject>
 			<imagedata align="center" fileref="images/Persistent_Object_Lifecycle.png" />
                 </imageobject>
-                <caption> The lifecycle of a persistent object. </caption>
+                <caption>Figure 2: The lifecycle of a persistent object. </caption>
             </mediaobject>
             
             <itemizedlist>
@@ -153,7 +153,7 @@
                 <listitem><para>a purely local implementation, where locks are maintained within the memory of the virtual machine which created them; this implementation has better performance than when writing locks to the local disk, but objects cannot be shared between virtual machines. Importantly, it is a basic Java object with no requirements which can be affected by the SecurityManager</para></listitem>
             </itemizedlist>
             
-            <para>The primary programmer interface to the concurrency controller is via the setlock operation. By default, the runtime system enforces strict two-phase locking following a multiple reader, single writer policy on a per object basis. However, as shown in <xref linkend="figure_1"/>, by inheriting from the <classname>Lock</classname> class it is possible for programmers to provide their own lock implementations with different lock conflict rules to enable <firstterm>type specific concurrency control</firstterm>.</para>
+            <para>The primary programmer interface to the concurrency controller is via the setlock operation. By default, the runtime system enforces strict two-phase locking following a multiple reader, single writer policy on a per object basis. However, as shown in figure 1, by inheriting from the <classname>Lock</classname> class it is possible for programmers to provide their own lock implementations with different lock conflict rules to enable <firstterm>type specific concurrency control</firstterm>.</para>
             
             <para>Lock acquisition is (of necessity) under programmer control, since just as <classname>StateManager</classname> cannot determine if an operation modifies an object, <classname>LockManager</classname> cannot determine if an operation requires a read or write lock. Lock release, however, is under control of the system and requires no further intervention by the programmer. This ensures that the two-phase property can be correctly maintained.</para>
             

Modified: labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_02.xml
===================================================================
--- labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_02.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_02.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -275,13 +275,13 @@
             <para><emphasis>TxCore</emphasis> supports two models for objects, which as we shall show affect how an objects state and concurrency control are implemented:</para>
             
             <itemizedlist>
-                <listitem><para><termdef>SINGLE</termdef>: only a single copy of the object exists within the application; this will reside within a single JVM, and all clients must address their invocations to this server. This model provides better performance, but represents a single point of failure, and in a multi-threaded environment may not protect the object from corruption if a single thread fails.</para>
+                <listitem><para>SINGLE: only a single copy of the object exists within the application; this will reside within a single JVM, and all clients must address their invocations to this server. This model provides better performance, but represents a single point of failure, and in a multi-threaded environment may not protect the object from corruption if a single thread fails.</para>
                 
                     <mediaobject id="figure_3">
                         <imageobject>
                             <imagedata align="center" fileref="images/Single_Object.png" />
                         </imageobject>
-                        <caption> Single Object Model</caption>
+                        <caption>Figure 3: Single Object Model</caption>
                     </mediaobject>
                 
                 </listitem>
@@ -292,7 +292,7 @@
                         <imageobject>
                             <imagedata align="center" fileref="images/Multiple_Object.png" />
                         </imageobject>
-                        <caption> Multiple Object Model</caption>
+                        <caption>Figure 4: Multiple Object Model</caption>
                     </mediaobject>
                 </listitem>
             </itemizedlist>

Modified: labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_03.xml
===================================================================
--- labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_03.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_03.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -151,10 +151,10 @@
                 <imageobject>
                     <imagedata align="center" fileref="images/Independent_Top-Level.png" />
                 </imageobject>
-                <caption> Independent Top-Level Action</caption>
+                <caption>Figure 5: Independent Top-Level Action</caption>
             </mediaobject>
             
-            <para><xref linkend="figure_5"/> shows a typical nesting of atomic actions, where action B is nested within action A. Although atomic action C is logically nested within action B (it had its Begin operation invoked while B was active) because it is an independent top-level action, it will commit or abort independently of the other actions within the structure. Because of the nature of independent top-level actions they should be used with caution and only in situations where their use has been carefully examined.</para>
+            <para>Figure 5 shows a typical nesting of atomic actions, where action B is nested within action A. Although atomic action C is logically nested within action B (it had its Begin operation invoked while B was active) because it is an independent top-level action, it will commit or abort independently of the other actions within the structure. Because of the nature of independent top-level actions they should be used with caution and only in situations where their use has been carefully examined.</para>
             
             <para>Top-level actions can be used within an application by declaring and using instances of the class <classname>TopLevelTransaction</classname>. They are used in exactly the same way as other transactions.</para>
            

Modified: labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_07.xml
===================================================================
--- labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_07.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/tags/EAP_4_2_7/Programmers_Guide/en-US/Chapter_07.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -8,228 +8,316 @@
     <section>
         <title>Options</title>
 		<para>
-			The following table shows the configuration features, with default values shown in italics. More details about each option can be found in the relevant sections of this document.
+			The following shows the configuration features, with possible values shown. More details about each option can be found in the relevant sections of this document.
 		</para>
-		<table>
-			<title>TxCore configuration options.</title>
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>
-							Configuration Name
-						</entry>
-						<entry>
-							Possible Values
-						</entry>
-						<entry>
-							Description
-						</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.storeSync
-						</entry>
-						<entry>
-							ON/OFF
-						</entry>
-						<entry>
-							Turns synchronization of the object store on or off. Use with caution.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.storeType
-						</entry>
-						<entry>
-							ShadowStore/ShadowNoFileLockStore/JDBCStore/HashedStore
-						</entry>
-						<entry>
-							Specify the type of object store implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.hashedDirectories
-						</entry>
-						<entry>
-							255/any integer value
-						</entry>
-						<entry>
-							Set the number of directories to hash object states over for the HashedStore object store implementation.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.txoj.lockstore.lockStoreType
-						</entry>
-						<entry>
-							BasicLockStore/BasicPersistentLockStore
-						</entry>
-						<entry>
-							Specify the type of the lock store implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.txoj.lockstore.lockStoreDir
-						</entry>
-						<entry>
-							Windows: .\LockStore
+		<itemizedlist>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.storeSync
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ON/OFF
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns synchronization of the object store on or off. Use with caution.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.storeType
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ShadowStore/ShadowNoFileLockStore/JDBCStore/HashedStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the type of object store implementation to use.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.hashedDirectories
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: 255/any integer value
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Set the number of directories to hash object states over for the HashedStore object store implementation.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.txoj.lockstore.lockStoreType
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: BasicLockStore/BasicPersistentLockStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the type of the lock store implementation to use.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.txoj.lockstore.lockStoreDir
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Windows: .\LockStore
 							Unix: ./LockStore
-						</entry>
-						<entry>
-							Specify the location of the lock store.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.objectStoreDir
-						</entry>
-						<entry>
-							Any location the application can write to.
-						</entry>
-						<entry>
-							Specify the location of the object store.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.localOSRoot
-						</entry>
-						<entry>
-							defaultStore
-						</entry>
-						<entry>
-							Specify the name of the object store root.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.actionStore
-						</entry>
-						<entry>
-							ActionStore/HashedActionStore/JDBCActionStore
-						</entry>
-						<entry>
-							The transaction log implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.asyncCommit
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Turns on or off (default) asynchronous commit.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.asyncPrepare
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Turns on or off (default) asynchronous prepare.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.transactionSync
-						</entry>
-						<entry>
-							ON/OFF
-						</entry>
-						<entry>
-							Turns synchronization of the object store on or off. Use with caution.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess
-						</entry>
-						<entry>
-							JDBCAccess class name
-						</entry>
-						<entry>
-							The JDBCAccess implementation to use for user-level object stores.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess
-						</entry>
-						<entry>
-							JDBCAccess class name
-						</entry>
-						<entry>
-							The JDBCAccess implementation to use for transaction object stores.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.commitOnePhase
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Enable or disable the one-phase commit optimization.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.readonlyOptimisation
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Enable or disable read-only optimization for the second phase abort.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.enableStatistics
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Start/stop collecting transaction statistic information.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.startDisabled
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Start with the transaction system enabled or disabled. Toggle via the com.arjuna.ats.arjuna.coordinator.TxControl class.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.defaultTimeout
-						</entry>
-						<entry>
-							Integer
-						</entry>
-						<entry>
-							Timeout in milliseconds
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-			
-
-		</table>
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the location of the lock store.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.objectStoreDir
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Any location the application can write to.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the location of the object store.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.localOSRoot
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: defaultStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the name of the object store root.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.actionStore
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ActionStore/HashedActionStore/JDBCActionStore 
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The transaction log implementation to use. 
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.asyncCommit
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns on or off (default) asynchronous commit.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.asyncPrepare
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns on or off (default) asynchronous prepare. 
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.transactionSync
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ON/OFF
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns synchronization of the object store on or off. Use with caution.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: JDBCAccess class name
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The JDBCAccess implementation to use for user-level object stores.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: JDBCAccess class name
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The JDBCAccess implementation to use for transaction object stores.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.commitOnePhase
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Enable or disable the one-phase commit optimization.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.readonlyOptimisation
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Enable or disable read-only optimization for the second phase abort.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.enableStatistics
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Start/stop collecting transaction statistic information.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.startDisabled
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Start with the transaction system enabled or disabled. Toggle via the com.arjuna.ats.arjuna.coordinator.TxControl class.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.defaultTimeout
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Integer 
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Timeout in milliseconds
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+		</itemizedlist>
     </section>
 </chapter>
\ No newline at end of file

Modified: labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter.xml
===================================================================
--- labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -25,7 +25,7 @@
             <imageobject>
                 <imagedata align="center" fileref="images/TXCore_class_hierarchy.png" />
             </imageobject>
-            <caption> Txcore class hierarchy </caption>
+            <caption>Figure 1: Txcore class hierarchy </caption>
         </mediaobject>
         
         <para>Apart from specifying the scopes of transactions, and setting appropriate locks within objects, the application programmer does not have any other responsibilities: <classname>TxCore</classname> and <emphasis>Transactional Objects for Java</emphasis> (TXOJ) guarantee that transactional objects will be registered with, and be driven by, the appropriate transactions, and crash recovery mechanisms are invoked automatically in the event of failures.</para>
@@ -124,13 +124,13 @@
         <section>
             <title>The life-cycle of a Transactional Object for Java </title>
             
-            <para>A persistent object not in use is assumed to be held in a <emphasis>passive</emphasis> state with its state residing in an object store and <emphasis>activated</emphasis> on demand. The fundamental life cycle of a persistent object in <emphasis>TXOJ</emphasis> is shown in <xref linkend="figure_2"/>.</para>
+            <para>A persistent object not in use is assumed to be held in a <emphasis>passive</emphasis> state with its state residing in an object store and <emphasis>activated</emphasis> on demand. The fundamental life cycle of a persistent object in <emphasis>TXOJ</emphasis> is shown in figure 2.</para>
             
             <mediaobject id="figure_2">
                 <imageobject>
 			<imagedata align="center" fileref="images/Persistent_Object_Lifecycle.png" />
                 </imageobject>
-                <caption> The lifecycle of a persistent object. </caption>
+                <caption>Figure 2: The lifecycle of a persistent object. </caption>
             </mediaobject>
             
             <itemizedlist>
@@ -153,7 +153,7 @@
                 <listitem><para>a purely local implementation, where locks are maintained within the memory of the virtual machine which created them; this implementation has better performance than when writing locks to the local disk, but objects cannot be shared between virtual machines. Importantly, it is a basic Java object with no requirements which can be affected by the SecurityManager</para></listitem>
             </itemizedlist>
             
-            <para>The primary programmer interface to the concurrency controller is via the setlock operation. By default, the runtime system enforces strict two-phase locking following a multiple reader, single writer policy on a per object basis. However, as shown in <xref linkend="figure_1"/>, by inheriting from the <classname>Lock</classname> class it is possible for programmers to provide their own lock implementations with different lock conflict rules to enable <firstterm>type specific concurrency control</firstterm>.</para>
+            <para>The primary programmer interface to the concurrency controller is via the setlock operation. By default, the runtime system enforces strict two-phase locking following a multiple reader, single writer policy on a per object basis. However, as shown in figure 1, by inheriting from the <classname>Lock</classname> class it is possible for programmers to provide their own lock implementations with different lock conflict rules to enable <firstterm>type specific concurrency control</firstterm>.</para>
             
             <para>Lock acquisition is (of necessity) under programmer control, since just as <classname>StateManager</classname> cannot determine if an operation modifies an object, <classname>LockManager</classname> cannot determine if an operation requires a read or write lock. Lock release, however, is under control of the system and requires no further intervention by the programmer. This ensures that the two-phase property can be correctly maintained.</para>
             

Modified: labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_02.xml
===================================================================
--- labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_02.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_02.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -275,13 +275,13 @@
             <para><emphasis>TxCore</emphasis> supports two models for objects, which as we shall show affect how an objects state and concurrency control are implemented:</para>
             
             <itemizedlist>
-                <listitem><para><termdef>SINGLE</termdef>: only a single copy of the object exists within the application; this will reside within a single JVM, and all clients must address their invocations to this server. This model provides better performance, but represents a single point of failure, and in a multi-threaded environment may not protect the object from corruption if a single thread fails.</para>
+                <listitem><para>SINGLE: only a single copy of the object exists within the application; this will reside within a single JVM, and all clients must address their invocations to this server. This model provides better performance, but represents a single point of failure, and in a multi-threaded environment may not protect the object from corruption if a single thread fails.</para>
                 
                     <mediaobject id="figure_3">
                         <imageobject>
                             <imagedata align="center" fileref="images/Single_Object.png" />
                         </imageobject>
-                        <caption> Single Object Model</caption>
+                        <caption>Figure 3: Single Object Model</caption>
                     </mediaobject>
                 
                 </listitem>
@@ -292,7 +292,7 @@
                         <imageobject>
                             <imagedata align="center" fileref="images/Multiple_Object.png" />
                         </imageobject>
-                        <caption> Multiple Object Model</caption>
+                        <caption>Figure 4: Multiple Object Model</caption>
                     </mediaobject>
                 </listitem>
             </itemizedlist>

Modified: labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_03.xml
===================================================================
--- labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_03.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_03.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -151,10 +151,10 @@
                 <imageobject>
                     <imagedata align="center" fileref="images/Independent_Top-Level.png" />
                 </imageobject>
-                <caption> Independent Top-Level Action</caption>
+                <caption>Figure 5: Independent Top-Level Action</caption>
             </mediaobject>
             
-            <para><xref linkend="figure_5"/> shows a typical nesting of atomic actions, where action B is nested within action A. Although atomic action C is logically nested within action B (it had its Begin operation invoked while B was active) because it is an independent top-level action, it will commit or abort independently of the other actions within the structure. Because of the nature of independent top-level actions they should be used with caution and only in situations where their use has been carefully examined.</para>
+            <para>Figure 5 shows a typical nesting of atomic actions, where action B is nested within action A. Although atomic action C is logically nested within action B (it had its Begin operation invoked while B was active) because it is an independent top-level action, it will commit or abort independently of the other actions within the structure. Because of the nature of independent top-level actions they should be used with caution and only in situations where their use has been carefully examined.</para>
             
             <para>Top-level actions can be used within an application by declaring and using instances of the class <classname>TopLevelTransaction</classname>. They are used in exactly the same way as other transactions.</para>
            

Modified: labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_07.xml
===================================================================
--- labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_07.xml	2009-03-12 00:44:31 UTC (rev 25605)
+++ labs/jbosstm/enterprise/trunk/Programmers_Guide/en-US/Chapter_07.xml	2009-03-12 02:13:34 UTC (rev 25606)
@@ -8,228 +8,316 @@
     <section>
         <title>Options</title>
 		<para>
-			The following table shows the configuration features, with default values shown in italics. More details about each option can be found in the relevant sections of this document.
+			The following shows the configuration features, with possible values shown. More details about each option can be found in the relevant sections of this document.
 		</para>
-		<table>
-			<title>TxCore configuration options.</title>
-			<tgroup cols="3">
-				<thead>
-					<row>
-						<entry>
-							Configuration Name
-						</entry>
-						<entry>
-							Possible Values
-						</entry>
-						<entry>
-							Description
-						</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.storeSync
-						</entry>
-						<entry>
-							ON/OFF
-						</entry>
-						<entry>
-							Turns synchronization of the object store on or off. Use with caution.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.storeType
-						</entry>
-						<entry>
-							ShadowStore/ShadowNoFileLockStore/JDBCStore/HashedStore
-						</entry>
-						<entry>
-							Specify the type of object store implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.hashedDirectories
-						</entry>
-						<entry>
-							255/any integer value
-						</entry>
-						<entry>
-							Set the number of directories to hash object states over for the HashedStore object store implementation.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.txoj.lockstore.lockStoreType
-						</entry>
-						<entry>
-							BasicLockStore/BasicPersistentLockStore
-						</entry>
-						<entry>
-							Specify the type of the lock store implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.txoj.lockstore.lockStoreDir
-						</entry>
-						<entry>
-							Windows: .\LockStore
+		<itemizedlist>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.storeSync
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ON/OFF
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns synchronization of the object store on or off. Use with caution.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.storeType
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ShadowStore/ShadowNoFileLockStore/JDBCStore/HashedStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the type of object store implementation to use.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.hashedDirectories
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: 255/any integer value
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Set the number of directories to hash object states over for the HashedStore object store implementation.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.txoj.lockstore.lockStoreType
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: BasicLockStore/BasicPersistentLockStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the type of the lock store implementation to use.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.txoj.lockstore.lockStoreDir
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Windows: .\LockStore
 							Unix: ./LockStore
-						</entry>
-						<entry>
-							Specify the location of the lock store.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.objectStoreDir
-						</entry>
-						<entry>
-							Any location the application can write to.
-						</entry>
-						<entry>
-							Specify the location of the object store.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.localOSRoot
-						</entry>
-						<entry>
-							defaultStore
-						</entry>
-						<entry>
-							Specify the name of the object store root.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.actionStore
-						</entry>
-						<entry>
-							ActionStore/HashedActionStore/JDBCActionStore
-						</entry>
-						<entry>
-							The transaction log implementation to use.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.asyncCommit
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Turns on or off (default) asynchronous commit.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.asyncPrepare
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Turns on or off (default) asynchronous prepare.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.transactionSync
-						</entry>
-						<entry>
-							ON/OFF
-						</entry>
-						<entry>
-							Turns synchronization of the object store on or off. Use with caution.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess
-						</entry>
-						<entry>
-							JDBCAccess class name
-						</entry>
-						<entry>
-							The JDBCAccess implementation to use for user-level object stores.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess
-						</entry>
-						<entry>
-							JDBCAccess class name
-						</entry>
-						<entry>
-							The JDBCAccess implementation to use for transaction object stores.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.commitOnePhase
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Enable or disable the one-phase commit optimization.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.readonlyOptimisation
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Enable or disable read-only optimization for the second phase abort.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.enableStatistics
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Start/stop collecting transaction statistic information.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.startDisabled
-						</entry>
-						<entry>
-							YES/NO
-						</entry>
-						<entry>
-							Start with the transaction system enabled or disabled. Toggle via the com.arjuna.ats.arjuna.coordinator.TxControl class.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							com.arjuna.ats.arjuna.coordinator.defaultTimeout
-						</entry>
-						<entry>
-							Integer
-						</entry>
-						<entry>
-							Timeout in milliseconds
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-			
-
-		</table>
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the location of the lock store.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.objectStoreDir
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Any location the application can write to.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the location of the object store.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.localOSRoot
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: defaultStore
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Specify the name of the object store root.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.actionStore
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ActionStore/HashedActionStore/JDBCActionStore 
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The transaction log implementation to use. 
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.asyncCommit
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns on or off (default) asynchronous commit.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.asyncPrepare
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns on or off (default) asynchronous prepare. 
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.transactionSync
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: ON/OFF
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Turns synchronization of the object store on or off. Use with caution.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: JDBCAccess class name
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The JDBCAccess implementation to use for user-level object stores.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: JDBCAccess class name
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: The JDBCAccess implementation to use for transaction object stores.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.commitOnePhase
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Enable or disable the one-phase commit optimization.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.readonlyOptimisation
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Enable or disable read-only optimization for the second phase abort.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.enableStatistics
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Start/stop collecting transaction statistic information.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.startDisabled
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: YES/NO
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Start with the transaction system enabled or disabled. Toggle via the com.arjuna.ats.arjuna.coordinator.TxControl class.
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+			<listitem>
+				<para>
+					com.arjuna.ats.arjuna.coordinator.defaultTimeout
+				</para>
+				<itemizedlist>
+					<listitem>
+						<para>
+							Possible Values: Integer 
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							Description: Timeout in milliseconds
+						</para>
+					</listitem>
+				</itemizedlist>
+			</listitem>
+		</itemizedlist>
     </section>
 </chapter>
\ No newline at end of file




More information about the jboss-svn-commits mailing list