[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