Author: fhanik Date: Tue Mar 27 15:04:29 2012 New Revision: 1305861 URL: http://svn.apache.org/viewvc?rev=1305861&view=rev Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=52002 Improvements to the pool - the default should be that multi thread close should not affect the connection isValid should return false if a connection has been closed
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DisposableConnectionFacade.java tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DisposableConnectionFacade.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DisposableConnectionFacade.java?rev=1305861&r1=1305860&r2=1305861&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DisposableConnectionFacade.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DisposableConnectionFacade.java Tue Mar 27 15:04:29 2012 @@ -48,6 +48,9 @@ public class DisposableConnectionFacade if (compare(CLOSE_VAL, method) && getNext() == null) { return null; } + if (compare(ISVALID_VAL, method) && getNext() == null) { + return Boolean.FALSE; + } try { return super.invoke(proxy, method, args); @@ -56,7 +59,7 @@ public class DisposableConnectionFacade if (compare(TOSTRING_VAL, method)) { return "DisposableConnectionFacade[null]"; } - throw new SQLException("Connection has already been closed."); + throw new SQLException("PooledConnection has already been closed."); } throw e; Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java?rev=1305861&r1=1305860&r2=1305861&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java Tue Mar 27 15:04:29 2012 @@ -61,6 +61,10 @@ public abstract class JdbcInterceptor im */ public static final String ISWRAPPERFOR_VAL = "isWrapperFor"; + /** + * {@link java.sql.Connection#isValid(boolean)} method name + */ + public static final String ISVALID_VAL = "isValid"; /** * Properties for this interceptor. Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1305861&r1=1305860&r2=1305861&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Tue Mar 27 15:04:29 2012 @@ -86,7 +86,7 @@ public class PoolProperties implements P protected boolean alternateUsernameAllowed = false; protected boolean commitOnReturn = false; protected boolean rollbackOnReturn = false; - protected boolean useDisposableConnectionFacade = false; + protected boolean useDisposableConnectionFacade = true; protected boolean logValidationErrors = false; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org