You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mp...@apache.org on 2006/07/23 21:46:11 UTC

svn commit: r424790 - /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java

Author: mprudhom
Date: Sun Jul 23 12:46:08 2006
New Revision: 424790

URL: http://svn.apache.org/viewvc?rev=424790&view=rev
Log:
Changed to use ReentrantLock so we could get rid of our last dependency on the backport-util-concurrent library.

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java?rev=424790&r1=424789&r2=424790&view=diff
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/event/TCPRemoteCommitProvider.java Sun Jul 23 12:46:08 2006
@@ -45,8 +45,8 @@
 import org.apache.openjpa.lib.util.Localizer;
 import org.apache.openjpa.util.GeneralException;
 import org.apache.openjpa.util.InternalException;
+import org.apache.openjpa.lib.util.concurrent.ReentrantLock;
 
-import edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock;
 import serp.util.Strings;
 
 /**
@@ -84,7 +84,7 @@
     private LinkedList _broadcastThreads = new LinkedList();
 
     private ArrayList _addresses = new ArrayList();
-    private ReentrantReadWriteLock _addressesLock;
+    private ReentrantLock _addressesLock;
 
     public TCPRemoteCommitProvider()
         throws UnknownHostException {
@@ -95,8 +95,7 @@
 
         // cache the local IP address.
         _localhost = InetAddress.getLocalHost().getAddress();
-        _addressesLock =
-            new edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock();
+        _addressesLock = new ReentrantLock();
         setNumBroadcastThreads(2);
     }
 
@@ -207,7 +206,7 @@
         // NYI. Could look for equivalence of addresses and avoid
         // changing those that didn't change.
 
-        acquireWriteLock(_addressesLock);
+        _addressesLock.lock();
         try {
             for (Iterator iter = _addresses.iterator(); iter.hasNext();) {
                 ((HostAddress) iter.next()).close();
@@ -257,36 +256,10 @@
             }
         }
         finally {
-            releaseWriteLock(_addressesLock);
+            _addressesLock.unlock();
         }
     }
 
-    private void acquireWriteLock(
-        edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock lock) {
-        try {
-            lock.writeLock().lockInterruptibly();
-        } catch (InterruptedException e) {
-        }
-    }
-
-    private void releaseWriteLock(
-        edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock lock) {
-        lock.writeLock().unlock();
-    }
-
-    private void acquireReadLock(
-        edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock lock) {
-        try {
-            lock.readLock().lockInterruptibly();
-        } catch (InterruptedException e) {
-        }
-    }
-
-    private void releaseReadLock(
-        edu.emory.mathcs.backport.java.util.concurrent.locks.ReentrantReadWriteLock lock) {
-        lock.readLock().unlock();
-    }
-
     // ---------- Configurable implementation ----------
 
     /**
@@ -322,7 +295,7 @@
             _listener.addProvider(this);
         }
 
-        acquireWriteLock(_addressesLock);
+        _addressesLock.lock();
         try {
             HostAddress curAddress;
             for (Iterator iter = _addresses.iterator();
@@ -333,7 +306,7 @@
             }
         }
         finally {
-            releaseWriteLock(_addressesLock);
+            _addressesLock.unlock();
         }
     }
 
@@ -374,12 +347,12 @@
      * provider cluster.
      */
     private void sendUpdatePacket(byte[] bytes) {
-        acquireReadLock(_addressesLock);
+        _addressesLock.lock();
         try {
             for (Iterator iter = _addresses.iterator(); iter.hasNext();)
                 ((HostAddress) iter.next()).sendUpdatePacket(bytes);
         } finally {
-            releaseReadLock(_addressesLock);
+            _addressesLock.unlock();
         }
     }
 
@@ -387,12 +360,12 @@
         if (_listener != null)
             _listener.removeProvider(this);
 
-        acquireWriteLock(_addressesLock);
+        _addressesLock.lock();
         try {
             for (Iterator iter = _addresses.iterator(); iter.hasNext();)
                 ((HostAddress) iter.next()).close();
         } finally {
-            releaseWriteLock(_addressesLock);
+            _addressesLock.unlock();
         }
 
         // We are done transmitting. Interrupt any worker threads.