[jboss-cvs] JBossAS SVN: r70167 - branches/Branch_4_2/connector/src/main/org/jboss/resource/connectionmanager.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 27 04:51:00 EST 2008


Author: vicky.kak at jboss.com
Date: 2008-02-27 04:51:00 -0500 (Wed, 27 Feb 2008)
New Revision: 70167

Modified:
   branches/Branch_4_2/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java
Log:
JBAS-1808 changes.

Modified: branches/Branch_4_2/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java
===================================================================
--- branches/Branch_4_2/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java	2008-02-27 09:49:17 UTC (rev 70166)
+++ branches/Branch_4_2/connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java	2008-02-27 09:51:00 UTC (rev 70167)
@@ -25,6 +25,7 @@
 import java.security.PrivilegedAction;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Set;
 
 import javax.management.Notification;
 import javax.management.NotificationFilter;
@@ -32,6 +33,7 @@
 import javax.management.ObjectName;
 import javax.resource.ResourceException;
 import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.ManagedConnection;
 import javax.resource.spi.ManagedConnectionFactory;
 import javax.security.auth.Subject;
 import javax.transaction.Transaction;
@@ -150,6 +152,10 @@
       return stats;      
    }
    
+   public Object listUnderlyingNativeConnectionStatistics()
+   {
+	   return poolingStrategy.listUnderlyingNativeConnectionStatistics();
+   }
    public ManagedConnectionPool getManagedConnectionPool()
    {
       return poolingStrategy;
@@ -939,11 +945,43 @@
             stat.setAverageBlockTime(internalPool.getAverageBlockTime());
             stat.setMaxWaitTime(internalPool.getMaxWaitTime());
             stat.setTotalTimedOut(internalPool.getTimedOut());
-            subPoolStats.addSubPool(stat);
+            subPoolStats.addSubPool(stat);            
          }
          return (JBossStatistics)subPoolStats;
       }
+      
+      public Object listUnderlyingNativeConnectionStatistics()
+      {
+    	  String statistics = "";
+    	  for(Iterator iter = subPools.values().iterator(); iter.hasNext();)
+          {                      
+    		  SubPoolContext subContext = (SubPoolContext)iter.next();
+    		  InternalManagedConnectionPool internalPool = subContext.getSubPool();
+    		  Set cels = internalPool.getConnectionListeners();
+    		  for(Iterator celsIter = cels.iterator(); celsIter.hasNext();)
+              {
+    			 ConnectionListener cl = (ConnectionListener) celsIter.next();
+              	 ManagedConnection mc = cl.getManagedConnection();
+              	 if (mc instanceof org.jboss.resource.statistic.JBossConnectionStatistics)
+              	 {
+              		org.jboss.resource.statistic.JBossConnectionStatistics stats = (org.jboss.resource.statistic.JBossConnectionStatistics)mc;
+              		statistics += stats.listConnectionStats();
+              		if(statistics.startsWith("-1")){
+              		  statistics = " ManagedConnetion in a Pool does not expose NativeConnectionStatistics !!!... ";
+              		  break;
+              		}
+              	 }
+              	 else
+              	 {
+              		 statistics = mc + " does not implement org.jboss.resource.statistic.JBossConnectionStatistics , <br><font color='red'>So this Operation is Not available!!!</font> ";              		 
+              		 break;              		 
+              	 }
+              }
+          }   
+    	  return statistics;
+      }
    }
+      
 
    /**
     * Pooling by subject and connection request information




More information about the jboss-cvs-commits mailing list