[jboss-cvs] JBossAS SVN: r111079 - projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 31 12:25:20 EDT 2011
Author: jesper.pedersen
Date: 2011-03-31 12:25:20 -0400 (Thu, 31 Mar 2011)
New Revision: 111079
Modified:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolConfiguration.java
Log:
Make PoolConfiguration use atomics
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolConfiguration.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolConfiguration.java 2011-03-31 13:31:44 UTC (rev 111078)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolConfiguration.java 2011-03-31 16:25:20 UTC (rev 111079)
@@ -22,6 +22,10 @@
package org.jboss.jca.core.api.connectionmanager.pool;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
/**
* The pool configuration.
* @author <a href="mailto:gurkanerdogdu at yahoo.com">Gurkan Erdogdu</a>
@@ -30,49 +34,49 @@
public class PoolConfiguration
{
/** Minumum size of the pool */
- private int minSize;
+ private AtomicInteger minSize;
/** Maximum size of the pool */
- private int maxSize;
+ private AtomicInteger maxSize;
/** Blocking timeout. In milliseconds */
- private long blockingTimeout;
+ private AtomicLong blockingTimeout;
/** Idle timeout period. Default 30 mins. In milliseconds */
- private long idleTimeout;
+ private AtomicLong idleTimeout;
/** Background validation */
- private boolean backgroundValidation;
+ private AtomicBoolean backgroundValidation;
/** Background validation - minutes */
- private int backgroundValidationMinutes;
+ private AtomicInteger backgroundValidationMinutes;
/** Prefill pool*/
- private boolean prefill;
+ private AtomicBoolean prefill;
/** Strict minumum, default false */
- private boolean strictMin;
+ private AtomicBoolean strictMin;
/**
* Do we want to immeadiately break when a connection cannot be matched and
* not evaluate the rest of the pool?
*/
- private boolean useFastFail;
+ private AtomicBoolean useFastFail;
/**
* Constructor
*/
public PoolConfiguration()
{
- minSize = 0;
- maxSize = 20;
- blockingTimeout = 30000;
- idleTimeout = 1000 * 60 * 30;
- backgroundValidation = false;
- backgroundValidationMinutes = 0;
- prefill = true;
- strictMin = false;
- useFastFail = false;
+ minSize = new AtomicInteger(0);
+ maxSize = new AtomicInteger(20);
+ blockingTimeout = new AtomicLong(30000);
+ idleTimeout = new AtomicLong(1000 * 60 * 30);
+ backgroundValidation = new AtomicBoolean(false);
+ backgroundValidationMinutes = new AtomicInteger(0);
+ prefill = new AtomicBoolean(true);
+ strictMin = new AtomicBoolean(false);
+ useFastFail = new AtomicBoolean(false);
}
/**
@@ -80,10 +84,10 @@
*/
public int getMinSize()
{
- if (minSize > maxSize)
- return maxSize;
+ if (minSize.get() > maxSize.get())
+ return maxSize.get();
- return minSize;
+ return minSize.get();
}
/**
@@ -91,7 +95,7 @@
*/
public void setMinSize(int minSize)
{
- this.minSize = minSize;
+ this.minSize.set(minSize);
}
/**
@@ -99,10 +103,10 @@
*/
public int getMaxSize()
{
- if (maxSize < minSize)
- return minSize;
+ if (maxSize.get() < minSize.get())
+ return minSize.get();
- return maxSize;
+ return maxSize.get();
}
/**
@@ -110,7 +114,7 @@
*/
public void setMaxSize(int maxSize)
{
- this.maxSize = maxSize;
+ this.maxSize.set(maxSize);
}
/**
@@ -118,7 +122,7 @@
*/
public long getBlockingTimeout()
{
- return blockingTimeout;
+ return blockingTimeout.get();
}
/**
@@ -126,7 +130,7 @@
*/
public void setBlockingTimeout(long blockingTimeout)
{
- this.blockingTimeout = blockingTimeout;
+ this.blockingTimeout.set(blockingTimeout);
}
/**
@@ -134,7 +138,7 @@
*/
public long getIdleTimeout()
{
- return idleTimeout;
+ return idleTimeout.get();
}
/**
@@ -142,7 +146,7 @@
*/
public void setIdleTimeout(long idleTimeout)
{
- this.idleTimeout = idleTimeout;
+ this.idleTimeout.set(idleTimeout);
}
/**
@@ -150,7 +154,7 @@
*/
public boolean isBackgroundValidation()
{
- return backgroundValidation;
+ return backgroundValidation.get();
}
/**
@@ -158,7 +162,7 @@
*/
public void setBackgroundValidation(boolean v)
{
- this.backgroundValidation = v;
+ this.backgroundValidation.set(v);
}
/**
@@ -167,7 +171,7 @@
*/
public int getBackgroundValidationMinutes()
{
- return backgroundValidationMinutes;
+ return backgroundValidationMinutes.get();
}
/**
@@ -176,7 +180,7 @@
*/
public void setBackgroundValidationMinutes(int v)
{
- this.backgroundValidationMinutes = v;
+ this.backgroundValidationMinutes.set(v);
}
/**
@@ -185,7 +189,7 @@
*/
public long getBackgroundValidationInterval()
{
- return backgroundValidationMinutes * 60000L;
+ return backgroundValidationMinutes.get() * 60000L;
}
/**
@@ -193,7 +197,7 @@
*/
public boolean isPrefill()
{
- return prefill;
+ return prefill.get();
}
/**
@@ -201,7 +205,7 @@
*/
public void setPrefill(boolean prefill)
{
- this.prefill = prefill;
+ this.prefill.set(prefill);
}
/**
@@ -209,7 +213,7 @@
*/
public boolean isStrictMin()
{
- return strictMin;
+ return strictMin.get();
}
/**
@@ -217,7 +221,7 @@
*/
public void setStrictMin(boolean strictMin)
{
- this.strictMin = strictMin;
+ this.strictMin.set(strictMin);
}
/**
@@ -225,7 +229,7 @@
*/
public boolean isUseFastFail()
{
- return useFastFail;
+ return useFastFail.get();
}
/**
@@ -233,7 +237,7 @@
*/
public void setUseFastFail(boolean useFastFail)
{
- this.useFastFail = useFastFail;
+ this.useFastFail.set(useFastFail);
}
/**
@@ -246,15 +250,15 @@
StringBuilder sb = new StringBuilder();
sb.append("PoolConfiguration@").append(Integer.toHexString(System.identityHashCode(this)));
- sb.append("[minSize=").append(minSize);
- sb.append(" maxSize=").append(maxSize);
- sb.append(" blockingTimeout=").append(blockingTimeout);
- sb.append(" idleTimeout=").append(idleTimeout);
- sb.append(" backgroundValidation=").append(backgroundValidation);
- sb.append(" backgroundValidationMinutes=").append(backgroundValidationMinutes);
- sb.append(" prefill=").append(prefill);
- sb.append(" strictMin=").append(strictMin);
- sb.append(" useFastFail=").append(useFastFail);
+ sb.append("[minSize=").append(minSize.get());
+ sb.append(" maxSize=").append(maxSize.get());
+ sb.append(" blockingTimeout=").append(blockingTimeout.get());
+ sb.append(" idleTimeout=").append(idleTimeout.get());
+ sb.append(" backgroundValidation=").append(backgroundValidation.get());
+ sb.append(" backgroundValidationMinutes=").append(backgroundValidationMinutes.get());
+ sb.append(" prefill=").append(prefill.get());
+ sb.append(" strictMin=").append(strictMin.get());
+ sb.append(" useFastFail=").append(useFastFail.get());
sb.append("]");
return sb.toString();
More information about the jboss-cvs-commits
mailing list