[jboss-cvs] JBossAS SVN: r71846 - in trunk: connector/src/main/org/jboss/resource/deployers/builder and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 9 10:45:50 EDT 2008
Author: adrian at jboss.org
Date: 2008-04-09 10:45:49 -0400 (Wed, 09 Apr 2008)
New Revision: 71846
Modified:
trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java
trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java
trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java
trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java
trunk/connector/src/main/org/jboss/resource/metadata/mcf/ConnectionPoolMetaData.java
trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java
trunk/testsuite/src/main/org/jboss/test/jca/support/PoolHelper.java
trunk/testsuite/src/main/org/jboss/test/jca/test/BackgroundValidationUnitTestCase.java
trunk/testsuite/src/resources/jca/validation/test-background-failed-validation-ds.xml
trunk/testsuite/src/resources/jca/validation/test-background-success-validation-ds.xml
Log:
[JBAS-4088] - Fine grained background validation
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -137,7 +137,7 @@
if (poolParams.idleTimeout != 0)
IdleRemover.registerPool(this, poolParams.idleTimeout);
- if (poolParams.backgroundValidation)
+ if (poolParams.backgroundInterval > 0)
{
log.debug("Registering for background validation at interval " + poolParams.backgroundInterval);
@@ -821,10 +821,8 @@
public long idleTimeout = 1000 * 60 * 30; // milliseconds, 30 minutes.
- public boolean backgroundValidation; // set to false by default
-
- public long backgroundInterval = 1000 * 60 * 10; // milliseconds, 10
- // minutes;
+ public long backgroundInterval = 0;
+
public boolean prefill;
public boolean stictMin;
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -384,32 +384,18 @@
{
this.poolJndiName = poolName;
}
-
- public boolean getBackGroundValidation()
- {
- return poolParams.backgroundValidation;
- }
- public void setBackGroundValidation(boolean backgroundValidation)
+ public long getBackGroundValidationMillis()
{
-
- poolParams.backgroundValidation = backgroundValidation;
-
+ return poolParams.backgroundInterval;
}
- public long getBackGroundValidationMinutes()
+ public void setBackGroundValidationMillis(long backgroundValidationInterval)
{
- return poolParams.backgroundInterval / (1000 * 60);
+ poolParams.backgroundInterval = backgroundValidationInterval;
}
- public void setBackGroundValidationMinutes(long backgroundValidationInterval)
- {
-
- poolParams.backgroundInterval = backgroundValidationInterval * 1000 * 60;
-
- }
-
protected void startService() throws Exception
{
ManagedConnectionFactory mcf = null;
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -212,39 +212,24 @@
/**
* Set the class name of the statistics formatter
*
- * @param the name of the statistics formatter to use.
+ * @param formatter the name of the statistics formatter to use.
*
*/
public void setStatisticsFormatter(String formatter);
-
- /**
- * Get background validation
- *
- * @return true of false if background validation is enabled.
- */
- public boolean getBackGroundValidation();
-
/**
- * Set the background validation
+ * Set the background validation in millis
*
- * @param backgroundValidation true or false if background validation is to be enabled
- */
- public void setBackGroundValidation(boolean backgroundValidation);
-
- /**
- * Set the background validation in minutes
- *
* @param backgroundValidationInterval the background interval in minutes
*/
- public void setBackGroundValidationMinutes(long backgroundValidationInterval);
+ public void setBackGroundValidationMillis(long backgroundValidationInterval);
/**
- * Get the background validation in minutes
+ * Get the background validation in millis
*
- * @return the background validation in minutes
+ * @return the background validation in millis
*/
- public long getBackGroundValidationMinutes();
+ public long getBackGroundValidationMillis();
/**
Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -86,11 +86,8 @@
poolAttribute = buildSimpleAttribute("IdleTimeoutMinutes", String.valueOf(md.getIdleTimeoutMinutes()));
poolAttributes.add(poolAttribute);
- poolAttribute = buildSimpleAttribute("BackGroundValidation", String.valueOf(md.isBackgroundValidation()));
+ poolAttribute = buildSimpleAttribute("BackGroundValidationMillis", String.valueOf(md.getBackgroundValidationMillis()));
poolAttributes.add(poolAttribute);
-
- poolAttribute = buildSimpleAttribute("BackGroundValidationMinutes", String.valueOf(md.getBackgroundValidationMinutes()));
- poolAttributes.add(poolAttribute);
poolAttribute = buildSimpleAttribute("PreFill", String.valueOf(md.getPrefill()));
poolAttributes.add(poolAttribute);
Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ConnectionPoolMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ConnectionPoolMetaData.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ConnectionPoolMetaData.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -44,12 +44,9 @@
public void setPrefill(Boolean prefill);
public Boolean getPrefill();
- public void setBackgroundValidation(boolean bgv);
- public boolean isBackgroundValidation();
+ public void setBackgroundValidationMillis(long interval);
+ public long getBackgroundValidationMillis();
- public void setBackgroundValidationMinutes(int interval);
- public int getBackgroundValidationMinutes();
-
public void setValidateOnMatch(boolean validateOnMatch);
public boolean isValidateOnMatch();
Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -92,13 +92,10 @@
@XmlElement(name="prefill")
private Boolean prefill = Boolean.FALSE;
+
+ @XmlElement(name="background-validation-millis")
+ private long backgroundValidationMillis;
- @XmlElement(name="background-validation")
- private boolean backgroundValidation;
-
- @XmlElement(name="background-validation-minutes")
- private int backgroundValidationMinutes;
-
@XmlElement(name="validate-on-match")
private boolean validateOnMatch = true;
@@ -452,30 +449,18 @@
return this.prefill;
}
-
- public void setBackgroundValidation(boolean bgv)
- {
- this.backgroundValidation = bgv;
-
- }
+
+ public void setBackgroundValidationMillis(long interval)
+ {
+ this.backgroundValidationMillis = interval;
+ }
+
+ @ManagementProperty(name="background-validation-millis", includeInTemplate=true)
+ public long getBackgroundValidationMillis()
+ {
+ return this.backgroundValidationMillis;
+ }
- @ManagementProperty(name="background-validation", includeInTemplate=true)
- public boolean isBackgroundValidation()
- {
- return this.backgroundValidation;
- }
-
- public void setBackgroundValidationMinutes(int interval)
- {
- this.backgroundValidationMinutes = interval;
- }
-
- @ManagementProperty(name="background-validation-minutes", includeInTemplate=true)
- public int getBackgroundValidationMinutes()
- {
- return this.backgroundValidationMinutes;
- }
-
public void setValidateOnMatch(boolean validateOnMatch)
{
this.validateOnMatch = validateOnMatch;
Modified: trunk/testsuite/src/main/org/jboss/test/jca/support/PoolHelper.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/support/PoolHelper.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/testsuite/src/main/org/jboss/test/jca/support/PoolHelper.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -44,12 +44,11 @@
static Logger log = Logger.getLogger(PoolHelper.class);
public static final String POOL_ATT_BLOCK_TIME = "BlockingTimeoutMillis";
- public static final String POOL_ATT_BACKGROUND_VAL_MIN = "BackGroundValidationMinutes";
+ public static final String POOL_ATT_BACKGROUND_VAL_MILLIS = "BackGroundValidationMillis";
public static final String POOL_ATT_PREFILL = "PreFill";
public static final String POOL_ATT_MIN_CONN_COUNT = "MinSize";
public static final String POOL_ATT_DESTROYED_COUNT = "ConnectionDestroyedCount";
public static final String POOL_ATT_CONN_COUNT = "ConnectionCount";
- public static final String POOL_ATT_BACKGROUND_VAL = "BackGroundValidation";
private MBeanServerConnection server;
@@ -155,15 +154,15 @@
}
- public Long getBackgroundValMinutes() throws Exception
+ public Long getBackgroundValMillis() throws Exception
{
- return getBackgroundValMinutes(server, poolName);
+ return getBackgroundValMillis(server, poolName);
}
- public static Long getBackgroundValMinutes(MBeanServerConnection server, ObjectName poolName) throws Exception
+ public static Long getBackgroundValMillis(MBeanServerConnection server, ObjectName poolName) throws Exception
{
- return (Long)getAttribute(server, poolName, POOL_ATT_BACKGROUND_VAL_MIN);
+ return (Long)getAttribute(server, poolName, POOL_ATT_BACKGROUND_VAL_MILLIS);
}
Modified: trunk/testsuite/src/main/org/jboss/test/jca/test/BackgroundValidationUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/test/BackgroundValidationUnitTestCase.java 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/testsuite/src/main/org/jboss/test/jca/test/BackgroundValidationUnitTestCase.java 2008-04-09 14:45:49 UTC (rev 71846)
@@ -60,9 +60,9 @@
Integer minCount = PoolHelper.getMinSize(getServer(), INVALID_BACKGROUND_POOL);
- Long backMin = PoolHelper.getBackgroundValMinutes(getServer(), INVALID_BACKGROUND_POOL);
+ Long backMillis = PoolHelper.getBackgroundValMillis(getServer(), INVALID_BACKGROUND_POOL);
- PoolHelper.sleepForValidation(backMin.intValue() * 1000 * 60);
+ PoolHelper.sleepForValidation(backMillis.intValue());
Integer destroyedCount = PoolHelper.getDestroyed(getServer(), INVALID_BACKGROUND_POOL);
@@ -72,12 +72,12 @@
assertTrue(connCount.intValue() == minCount.intValue());
- PoolHelper.setPoolAttributeAndFlush(getServer(), INVALID_BACKGROUND_POOL, PoolHelper.POOL_ATT_BACKGROUND_VAL, Boolean.FALSE);
+ PoolHelper.setPoolAttributeAndFlush(getServer(), INVALID_BACKGROUND_POOL, PoolHelper.POOL_ATT_BACKGROUND_VAL_MILLIS, new Long(0));
//Reprime the pool
ds.getConnection().close();
- PoolHelper.sleepForValidation(backMin.intValue() * 1000 * 60);
+ PoolHelper.sleepForValidation(backMillis.intValue());
destroyedCount = PoolHelper.getDestroyed(getServer(), INVALID_BACKGROUND_POOL);
connCount = PoolHelper.getConnectionCount(getServer(), INVALID_BACKGROUND_POOL);
@@ -94,10 +94,9 @@
DataSource ds = (DataSource) ctx.lookup("TestSuccessBackgroundDS");
ds.getConnection("sa", "").close();
- Integer minCount = PoolHelper.getMinSize(getServer(), VALID_BACKGROUND_POOL);
- Long backMin = PoolHelper.getBackgroundValMinutes(getServer(), VALID_BACKGROUND_POOL);
+ Long backMillis = PoolHelper.getBackgroundValMillis(getServer(), VALID_BACKGROUND_POOL);
- PoolHelper.sleepForValidation(backMin.intValue() * 1000 * 60);
+ PoolHelper.sleepForValidation(backMillis.intValue());
Integer destroyedCount = PoolHelper.getDestroyed(getServer(), VALID_BACKGROUND_POOL);
@@ -180,7 +179,6 @@
pp.blockingTimeout = 10000;
pp.idleTimeout = 0;
pp.prefill = true;
- pp.backgroundValidation = false;
pp.backgroundInterval = 1 * 1000 * 30;
ManagedConnectionPool mcp = new JBossManagedConnectionPool.OnePool(mcf, pp, false, log);
NoTxConnectionManager noTxn = new NoTxConnectionManager(null, mcp);
@@ -213,7 +211,6 @@
pp.blockingTimeout = 10000;
pp.idleTimeout = 0;
pp.prefill = true;
- pp.backgroundValidation = false;
pp.backgroundInterval = 1 * 1000 * 30;
ManagedConnectionPool mcp = new JBossManagedConnectionPool.OnePool(mcf, pp, false, log);
NoTxConnectionManager noTxn = new NoTxConnectionManager(null, mcp);
@@ -247,8 +244,7 @@
pp.blockingTimeout = 10000;
pp.idleTimeout = 0;
pp.prefill = false;
- pp.backgroundValidation = true;
- pp.backgroundInterval = 1 * 1000 * 30;
+ pp.backgroundInterval = 2000;
ManagedConnectionPool mcp = new JBossManagedConnectionPool.OnePool(mcf, pp, false, log);
NoTxConnectionManager noTxn = new NoTxConnectionManager(null, mcp);
mcp.setConnectionListenerFactory(noTxn);
@@ -275,8 +271,7 @@
pp.blockingTimeout = 10000;
pp.idleTimeout = 0;
pp.prefill = false;
- pp.backgroundValidation = true;
- pp.backgroundInterval = 1 * 1000 * 30;
+ pp.backgroundInterval = 2000;
ManagedConnectionPool mcp = new JBossManagedConnectionPool.OnePool(mcf, pp, false, log);
NoTxConnectionManager noTxn = new NoTxConnectionManager(null, mcp);
mcp.setConnectionListenerFactory(noTxn);
Modified: trunk/testsuite/src/resources/jca/validation/test-background-failed-validation-ds.xml
===================================================================
--- trunk/testsuite/src/resources/jca/validation/test-background-failed-validation-ds.xml 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/testsuite/src/resources/jca/validation/test-background-failed-validation-ds.xml 2008-04-09 14:45:49 UTC (rev 71846)
@@ -10,8 +10,7 @@
<application-managed-security />
<min-pool-size>5</min-pool-size>
<max-pool-size>10</max-pool-size>
- <background-validation>true</background-validation>
- <background-validation-minutes>1</background-validation-minutes>
+ <background-validation-millis>5000</background-validation-millis>
<valid-connection-checker-class-name>org.jboss.test.jca.support.MockFailedValidationConnectionChecker</valid-connection-checker-class-name>
<exception-sorter-class-name>org.jboss.test.jca.support.MockExceptionSorter</exception-sorter-class-name>
<metadata>
@@ -20,4 +19,4 @@
</local-tx-datasource>
-</datasources>
\ No newline at end of file
+</datasources>
Modified: trunk/testsuite/src/resources/jca/validation/test-background-success-validation-ds.xml
===================================================================
--- trunk/testsuite/src/resources/jca/validation/test-background-success-validation-ds.xml 2008-04-09 14:42:28 UTC (rev 71845)
+++ trunk/testsuite/src/resources/jca/validation/test-background-success-validation-ds.xml 2008-04-09 14:45:49 UTC (rev 71846)
@@ -8,11 +8,10 @@
<connection-url>jdbc:hsqldb:mem:BackgroundDSDB</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<application-managed-security />
- <background-validation>true</background-validation>
- <background-validation-minutes>1</background-validation-minutes>
+ <background-validation-millis>5000</background-validation-millis>
<valid-connection-checker-class-name>org.jboss.test.jca.support.MockSuccessValidationConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>Hypersonic SQL</type-mapping>
</metadata>
</local-tx-datasource>
-</datasources>
\ No newline at end of file
+</datasources>
More information about the jboss-cvs-commits
mailing list