[Jboss-cvs] JBossAS SVN: r57098 - trunk/connector/src/main/org/jboss/resource/connectionmanager

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Sep 22 23:52:59 EDT 2006


Author: weston.price at jboss.com
Date: 2006-09-22 23:52:58 -0400 (Fri, 22 Sep 2006)
New Revision: 57098

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
Log:
[JBAS-2737] Do not destroy connections below minimum for timed out connections
if stictMin is in effect. 

Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java	2006-09-23 02:31:41 UTC (rev 57097)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java	2006-09-23 03:52:58 UTC (rev 57098)
@@ -428,7 +428,7 @@
 
             // Check the first in the list
             ConnectionListener cl = (ConnectionListener) cls.get(0);
-            if (cl.isTimedOut(timeout))
+            if (cl.isTimedOut(timeout) && shouldRemove())
             {
                connectionCounter.incTimedOut();
                // We need to destroy this one
@@ -615,7 +615,23 @@
       }
 
    }
-
+   
+   private boolean shouldRemove()
+   {      
+      boolean remove = true;
+      
+      if(poolParams.stictMin)
+      {
+         remove = cls.size() > poolParams.minSize;
+         
+         log.trace("StrictMin is active. Current connection will be removed is " + remove);
+         
+      }
+      
+      return remove;
+      
+   }
+   
    public void validateConnections() throws Exception
    {
 
@@ -758,6 +774,7 @@
    {
       if (poolParams.minSize > maxSize)
          return maxSize;
+      
       return poolParams.minSize;
    }
 
@@ -775,9 +792,9 @@
 
 		public long backgroundInterval = 1000 * 60 * 10; // milliseconds, 10
 															// minutes;
-
 		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	2006-09-23 02:31:41 UTC (rev 57097)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java	2006-09-23 03:52:58 UTC (rev 57098)
@@ -265,6 +265,20 @@
       
       poolParams.prefill = prefill;
    }
+   
+   public void setStrictMin(boolean strictMin)
+   {
+      poolParams.stictMin = strictMin;
+      
+   }
+   
+   public boolean getStrictMin()
+   {
+         
+      return poolParams.stictMin;
+      
+   }
+   
    public void flush()
    {
 	   if (poolingStrategy == null)

Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java	2006-09-23 02:31:41 UTC (rev 57097)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPoolMBean.java	2006-09-23 03:52:58 UTC (rev 57098)
@@ -138,11 +138,24 @@
 
   void setNoTxSeparatePools(boolean value) ;
 
+  /**
+ * FIXME Comment this
+ * 
+ * @param prefill
+ */
   void setPreFill(boolean prefill);
   
+  /**
+   * FIXME Comment this
+   * 
+   * @return
+   */
   boolean getPreFill();
   
+  boolean getStrictMin();
   
+  void setStrictMin(boolean strictMin);
+  
    /**
     * The <code>flush</code> method puts all currently checked out connections on a list to be destroyed when returned and disposes of all current pooled connections.
     */




More information about the jboss-cvs-commits mailing list