Author: fhanik
Date: Wed Dec 10 19:40:13 2008
New Revision: 725564

URL: http://svn.apache.org/viewvc?rev=725564&view=rev
Log:
get rid of closeListener, it turns into spaghetti code

Modified:
    
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
    
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
    
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
    
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java

Modified: 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=725564&r1=725563&r2=725564&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
 Wed Dec 10 19:40:13 2008
@@ -58,18 +58,12 @@
  */
 
 public class ConnectionPool {
-    public static interface CloseListener {
-        void poolClosed(ConnectionPool pool);
-    }
-
     //logger
     protected static Log log = LogFactory.getLog(ConnectionPool.class);
 
     
//===============================================================================
     //         INSTANCE/QUICK ACCESS VARIABLE
     
//===============================================================================
-    protected ConcurrentLinkedQueue<CloseListener> listeners = new 
ConcurrentLinkedQueue<CloseListener>();
-    
     /**
      * All the information about the connection pool
      */
@@ -259,14 +253,6 @@
         close(true);
     }
 
-    public void addCloseListener(CloseListener listener) {
-        listeners.add(listener);
-    }
-    
-    public void removeCloseListener(CloseListener listener) {
-        listeners.remove(listener);
-    }
-    
     /**
      * Closes the pool and all disconnects all idle connections
      * Active connections will be closed upon the [EMAIL PROTECTED] 
java.sql.Connection#close close} method is called
@@ -306,10 +292,6 @@
         size.set(0);
         if (this.getPoolProperties().isJmxEnabled()) stopJmx();
         
-        while (listeners.size()>0) {
-            CloseListener listener = listeners.poll();
-            if (listener!=null) listener.poolClosed(this);
-        }
     } //closePool
 
 

Modified: 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=725564&r1=725563&r2=725564&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 Wed Dec 10 19:40:13 2008
@@ -54,7 +54,7 @@
     protected int removeAbandonedTimeout = 60;
     protected boolean logAbandoned = false;
     protected int loginTimeout = 10000;
-    protected String name = "Tomcat Connection 
Pool["+(poolCounter.addAndGet(1))+"]";
+    protected String name = "Tomcat Connection 
Pool["+(poolCounter.addAndGet(1))+","+System.identityHashCode(PoolProperties.class)+"]";
     protected String password;
     protected String username;
     protected long validationInterval = 30000;

Modified: 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=725564&r1=725563&r2=725564&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
 Wed Dec 10 19:40:13 2008
@@ -117,7 +117,7 @@
 
 
 //============================================================================
-//             com.filip.util.IPoolObject methods
+//             
 //============================================================================
 
     public long getAbandonTimeout() {

Modified: 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=725564&r1=725563&r2=725564&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
 Wed Dec 10 19:40:13 2008
@@ -42,13 +42,14 @@
  * @author Filip Hanik
  * @version 1.0
  */
-public class SlowQueryReport extends AbstractCreateStatementInterceptor 
implements ConnectionPool.CloseListener {
+public class SlowQueryReport extends AbstractCreateStatementInterceptor  {
     //logger
     protected static Log log = LogFactory.getLog(SlowQueryReport.class);
     /**
      * the constructors that are used to create statement proxies 
      */
-    protected static final Constructor[] constructors = new 
Constructor[AbstractCreateStatementInterceptor.statements.length];
+    protected static final Constructor[] constructors = 
+        new Constructor[AbstractCreateStatementInterceptor.statements.length];
     /**
      * we will be keeping track of query stats on a per pool basis, do we want 
this, or global?
      */
@@ -112,7 +113,13 @@
      */
     @Override
     public void closeInvoked() {
-        queries = null;
+        try {
+            queries = null;
+            finalize();
+            pool = null;
+        }catch (Exception x) {
+            log.debug(x);
+        }
         
     }
     
@@ -184,22 +191,13 @@
 
             };
             perPoolStats.put(parent, queries);
-            //add ourselves to the pool listener, so we can cleanup
-            parent.addCloseListener(this);
         }
         this.pool = parent;
     }
     
     public void finalize() {
-        if (pool!=null) pool.removeCloseListener(this);
     }
 
-    
-    public void poolClosed(ConnectionPool pool) {
-        //clean up after ourselves.
-        perPoolStats.remove(pool);
-    }
-    
     public CompositeData[] getSlowQueriesCD() {
         return null;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to