[Jboss-cvs] JBossAS SVN: r56248 - branches/JBoss_4_0_3_SP1_JBAS_3453/connector/src/main/org/jboss/resource/connectionmanager

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 25 04:59:33 EDT 2006


Author: weston.price at jboss.com
Date: 2006-08-25 04:59:32 -0400 (Fri, 25 Aug 2006)
New Revision: 56248

Modified:
   branches/JBoss_4_0_3_SP1_JBAS_3453/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java
Log:
[JBAS-3453] Statistics cleanup and support.

Modified: branches/JBoss_4_0_3_SP1_JBAS_3453/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java
===================================================================
--- branches/JBoss_4_0_3_SP1_JBAS_3453/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java	2006-08-25 08:23:05 UTC (rev 56247)
+++ branches/JBoss_4_0_3_SP1_JBAS_3453/connector/src/main/org/jboss/resource/connectionmanager/InternalManagedConnectionPool.java	2006-08-25 08:59:32 UTC (rev 56248)
@@ -354,17 +354,42 @@
 	   
        if(poolParams.purgePolilcy.equals(PurgePolicy.NONE))
        {
-          doDestroy(cl);
+    	   if(cl.isStale())
+    	   {
+    		   connectionCounter.stale();
+    		   
+    	   }
+    	   //Note, we are not flagging this as purged because the policy is not set
+    	   doDestroy(cl);
        }
+       
        else if(poolParams.purgePolilcy.equals(PurgePolicy.CONNECTION))
 	   {
-           connectionCounter.purged();
-		   doDestroy(cl);
+    	   if(cl.isStale())
+    	   {
+    		   connectionCounter.purgedAndStale();
+
+    	   }else
+    	   {
+               connectionCounter.purged();    		   
+    	   }
+
+    	   doDestroy(cl);
 		   
 	   }else if(poolParams.purgePolilcy.equals(PurgePolicy.POOL))
 	   {   
            int purgeCount = (poolParams.destroyOutstandingOnPurge) ? checkedOut.size() + cls.size() : cls.size();
-           connectionCounter.purged(purgeCount, true);    
+           
+           if(cl.isStale())
+           {
+        	   connectionCounter.purgedAndStale(purgeCount,true);
+        	   
+           }else
+           {
+               connectionCounter.purged(purgeCount, true);    
+        	   
+           }
+           
            flush(poolParams.destroyOutstandingOnPurge);
 		   
 	   }else
@@ -699,6 +724,10 @@
       {
          ++purged;
       }
+      synchronized void purged(int count)
+      {
+    	  purged += count;
+      }
    
       synchronized void purged(int count, boolean pool)
       {
@@ -711,5 +740,24 @@
       {
          ++staleCount;
       }
+
+      synchronized void stale(int count)
+      {
+    	  staleCount += count;
+      }
+   
+      synchronized void purgedAndStale()
+      {
+    	  stale();
+    	  purged();
+      }
+   
+      synchronized void purgedAndStale(int count, boolean pool)
+      {
+    	  stale(count);
+    	  purged(count, pool);
+      }
+   
+   
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list