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]