[jboss-cvs] JBossAS SVN: r76074 - projects/ejb3/trunk/pool/src/main/java/org/jboss/ejb3/pool/strictmax.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jul 21 18:40:30 EDT 2008
Author: ALRubinger
Date: 2008-07-21 18:40:30 -0400 (Mon, 21 Jul 2008)
New Revision: 76074
Modified:
projects/ejb3/trunk/pool/src/main/java/org/jboss/ejb3/pool/strictmax/StrictMaxPool.java
Log:
Concurrency bug, synchronized access to pool on lifecycle stop, document the guard lock required
Modified: projects/ejb3/trunk/pool/src/main/java/org/jboss/ejb3/pool/strictmax/StrictMaxPool.java
===================================================================
--- projects/ejb3/trunk/pool/src/main/java/org/jboss/ejb3/pool/strictmax/StrictMaxPool.java 2008-07-21 21:31:37 UTC (rev 76073)
+++ projects/ejb3/trunk/pool/src/main/java/org/jboss/ejb3/pool/strictmax/StrictMaxPool.java 2008-07-21 22:40:30 UTC (rev 76074)
@@ -33,7 +33,7 @@
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
- * @version $Revision: $
+ * @version $Revision$
*/
public class StrictMaxPool<T> implements Pool<T>
{
@@ -42,6 +42,7 @@
private int maxSize;
private long timeout;
private TimeUnit timeUnit;
+ // Guarded by the implicit lock for "pool"
private LinkedList<T> pool = new LinkedList<T>();
public StrictMaxPool(StatelessObjectFactory<T> factory, int maxSize, long timeout, TimeUnit timeUnit)
@@ -111,7 +112,10 @@
{
factory.destroy(obj);
}
- pool.clear();
+ synchronized (pool)
+ {
+ pool.clear();
+ }
}
}
More information about the jboss-cvs-commits
mailing list