You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oz...@apache.org on 2005/01/10 01:31:48 UTC

cvs commit: jakarta-commons/transaction/xdocs navigation.xml

ozeigermann    2005/01/09 16:31:48

  Modified:    transaction/xdocs/locks concepts.xml index.xml
               transaction/xdocs navigation.xml
  Added:       transaction/xdocs/locks preference.xml
  Log:
  Finished docs for 1.1
  
  Revision  Changes    Path
  1.2       +42 -13    jakarta-commons/transaction/xdocs/locks/concepts.xml
  
  Index: concepts.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/transaction/xdocs/locks/concepts.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- concepts.xml	9 Jan 2005 23:10:06 -0000	1.1
  +++ concepts.xml	10 Jan 2005 00:31:48 -0000	1.2
  @@ -3,26 +3,55 @@
   <document>
   
    <properties>
  -  <title>Locking concepts</title>
  +  <title>Transaction concepts</title>
     <author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
    </properties>
   
    <body>
   
  -<section name="Locking Concepts">
  +<section name="Transaction Concepts">
   
  -<subsection name="Rudimentary Transaction support for GenericLockManager implementing LockManager2">
  -  - Transaction wide lock management
  -  - Global transaction timeouts
  -  - Deadlock detection
  -</subsection>
  -
  -<subsection name="Extended Locking capacities of GenricLock implementing MultiLevelLock2">
  -  - preference locks
  -  - waiter recording and management
  -  - improved debugging with toString
  -</subsection>
  +<p><em>Note: </em>Before reading further be sure to read the <a
  +href="tutorial.html">introductory tutorial.</a></p>
   
  +<p>Beginning with version 1.1 the Commons Transaction package features
  +extended transaction support mechanisms. They are grouped around the
  +new <a
  +href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html">lock
  +manager</a> and its <a
  +href="../apidocs/org/apache/commons/transaction/locking/GenericLockManager.html">implementation</a>
  +that should be used as the only interface to access locks
  +associated to some sort of transaction. To do so it offers you locking
  +methods like <a
  +href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html#lock(java.lang.Object,%20java.lang.Object,%20int,%20int,%20boolean,%20long)">lock</a>
  +and <a
  +href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html#tryLock(java.lang.Object,%20java.lang.Object,%20int,%20boolean)">tryLock</a>.</p>  
  +
  +<p>It is important for this manager to be central and have
  +knowledge of all locking operations to perform tasks like <a href="deadlock.html">deadlock
  +detection</a>, incorporate <a
  +href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html#startGlobalTimeout(java.lang.Object,%20long)">global
  +transaction timeouts</a> and add convenience methods to <a
  +href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html#releaseAll(java.lang.Object)">release
  +all locks</a> of a transaction.</p>  
  +
  +<p>Additional to the <a href="preference.html">preference feature</a>
  +in the new <a href="../apidocs/org/apache/commons/transaction/locking/MultiLevelLock2.html">lock</a>, its <a
  +href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html">implementation</a>
  +has some internal means to record all requests that wait for
  +(partially) acquiring a lock in the sequence they occur. This is
  +used by the deadlock detection in the lock manager. Another possible
  +use is in custom implementations of fair scheduling lock
  +mechanisms. Even though the specific protected methods 
  +<a
  +href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#registerWaiter(org.apache.commons.transaction.locking.GenericLock.LockOwner)">registerWaiter</a>
  +and
  +<a
  +href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#unregisterWaiter(org.apache.commons.transaction.locking.GenericLock.LockOwner)">unregisterWaiter</a>
  +and field 
  +<a
  +href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#waitingOwners">waitingOwners</a> are not made available
  +through interfaces subclasses can still use them and even make their means public.</p> 
   </section>
   
   </body>
  
  
  
  1.2       +10 -2     jakarta-commons/transaction/xdocs/locks/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/transaction/xdocs/locks/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml	18 Nov 2004 23:27:19 -0000	1.1
  +++ index.xml	10 Jan 2005 00:31:48 -0000	1.2
  @@ -44,9 +44,17 @@
    component make heavy
    use of them.
    </p>
  +<subsection name="Where go to from here?">
   <p>To learn more about multi level locks and how you can use them continue
  - with the <a href="tutorial.html">tutorial</a>. It explains how
  - Jakarta Slide's WebDAV layer uses them to deadlock free avoid conflicts.</p> 
  + with the <a href="tutorial.html">introductory tutorial</a>. It explains how
  + Jakarta Slide's WebDAV layer uses them to deadlock free avoid
  + conflicts. New features introduced in 1.1 are <a
  + href="concepts.html">extended transaction support</a> and <a
  + href="preference.html">general preferences for locks</a>. You can also find information about <a
  + href="deadlock.html">deadlocks and how they are handled in the
  + Commons Transaction package</a>. </p> 
  +</subsection>
  +
   </section>
   
   </body>
  
  
  
  1.1                  jakarta-commons/transaction/xdocs/locks/preference.xml
  
  Index: preference.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <document>
  
   <properties>
    <title>Preference Locks</title>
    <author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
   </properties>
  
   <body>
  
  <section name="Preference Locks">
  
  <p><em>Note: </em>Before reading further be sure to read the <a
  href="tutorial.html">introductory tutorial.</a></p>
  
  
  <p>With the new <a href="../apidocs/org/apache/commons/transaction/locking/MultiLevelLock2.html">lock</a> and its <a
  href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html">implementation</a>
  introduced in version 1.1 there now is the possibility to prefer
  certain lock request. If a lock is not directly available
  a preferred lock request will be fulfilled before any other request
  that is not preferred.</p> 
  
  <p>Putting preferences on certain lock levels is what the <a
  href="../apidocs/org/apache/commons/transaction/locking/ReadWriteLockManager.html">read/write
  lock manager</a> and the <a
  href="../apidocs/org/apache/commons/transaction/locking/ReadWriteUpgradeLockManager.html">read/write/upgrade
  lock manager</a> with their respective implementations for <a
  href="../apidocs/org/apache/commons/transaction/locking/ReadWriteLock.html">read/write</a>
  and <a
  href="../apidocs/org/apache/commons/transaction/locking/ReadWriteUpgradeLock.html">upgrade</a>
  locks do.</p>
  
  <p>For full flexibility there is an option to specify preference for any
  locking request both in the <a
  href="../apidocs/org/apache/commons/transaction/locking/LockManager2.html#lock(java.lang.Object,%20java.lang.Object,%20int,%20int,%20boolean,%20long)">lock
  manager</a> as well as in the <a
  href="../apidocs/org/apache/commons/transaction/locking/MultiLevelLock2.html#acquire(java.lang.Object,%20int,%20boolean,%20int,%20boolean,%20long)">lock</a>.</p>
  
  </section>
  
  </body>
  </document>
  
  
  
  1.2       +4 -1      jakarta-commons/transaction/xdocs/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/transaction/xdocs/navigation.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- navigation.xml	18 Nov 2004 23:27:19 -0000	1.1
  +++ navigation.xml	10 Jan 2005 00:31:48 -0000	1.2
  @@ -9,7 +9,10 @@
               	<item name="Map Wrapper comparision" href="/maps/wrappers-comparision.html"/>
               </item>	
               <item name="Locking" href="/locks/index.html">
  -            	<item name="Lock tutorial" href="/locks/tutorial.html"/>
  +            	<item name="Introduction" href="/locks/tutorial.html"/>
  +            	<item name="Preference Locks" href="/locks/preference.html"/>
  +            	<item name="Transaction Concepts" href="/locks/concepts.html"/>
  +            	<item name="Deadlocks" href="/locks/deadlock.html"/>
               </item>	
               <item name="Transactional file access" href="/file/index.html"/>
   <!--            <item name="Configuration"                 href="/configuration.html" /> -->
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org