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.