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.