You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2015/04/24 02:34:03 UTC
svn commit: r1675737 - in /commons/proper/dbcp/trunk/src: changes/
main/java/org/apache/commons/dbcp2/
main/java/org/apache/commons/dbcp2/managed/
test/java/org/apache/commons/dbcp2/
Author: psteitz
Date: Fri Apr 24 00:34:03 2015
New Revision: 1675737
URL: http://svn.apache.org/r1675737
Log:
Made BasicDataSource set disconnection properties on its PCF. JIRA: DBCP-437.
Modified:
commons/proper/dbcp/trunk/src/changes/changes.xml
commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/managed/BasicManagedDataSource.java
commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
Modified: commons/proper/dbcp/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/changes/changes.xml?rev=1675737&r1=1675736&r2=1675737&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/changes/changes.xml (original)
+++ commons/proper/dbcp/trunk/src/changes/changes.xml Fri Apr 24 00:34:03 2015
@@ -60,6 +60,11 @@ The <action> type attribute can be add,u
-->
<body>
+ <release version="2.1.1" date="TBD" description="Bug fixes.">
+ <action issue="DBCP-437" dev="psteitz" type="fix">
+ BasicDataSource does not set disconnectionSql properties on its PoolableConnectionFactory.
+ </action>
+ </release>
<release version="2.1" date="23 Feb 2015" description=
"This is minor release, including bug fixes and enhancements. Note that
one of the enhancements (DBCP-423) is to implement AutoCloseable in
Modified: commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java?rev=1675737&r1=1675736&r2=1675737&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java (original)
+++ commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/BasicDataSource.java Fri Apr 24 00:34:03 2015
@@ -2284,6 +2284,8 @@ public class BasicDataSource implements
connectionFactory.setRollbackOnReturn(getRollbackOnReturn());
connectionFactory.setEnableAutoCommitOnReturn(getEnableAutoCommitOnReturn());
connectionFactory.setDefaultQueryTimeout(getDefaultQueryTimeout());
+ connectionFactory.setFastFailValidation(fastFailValidation);
+ connectionFactory.setDisconnectionSqlCodes(disconnectionSqlCodes);
validateConnectionFactory(connectionFactory);
} catch (RuntimeException e) {
throw e;
Modified: commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/managed/BasicManagedDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/managed/BasicManagedDataSource.java?rev=1675737&r1=1675736&r2=1675737&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/managed/BasicManagedDataSource.java (original)
+++ commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/managed/BasicManagedDataSource.java Fri Apr 24 00:34:03 2015
@@ -201,6 +201,8 @@ public class BasicManagedDataSource exte
connectionFactory.setRollbackOnReturn(getRollbackOnReturn());
connectionFactory.setEnableAutoCommitOnReturn(getEnableAutoCommitOnReturn());
connectionFactory.setDefaultQueryTimeout(getDefaultQueryTimeout());
+ connectionFactory.setFastFailValidation(getFastFailValidation());
+ connectionFactory.setDisconnectionSqlCodes(getDisconnectionSqlCodes());
validateConnectionFactory(connectionFactory);
} catch (RuntimeException e) {
throw e;
Modified: commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java?rev=1675737&r1=1675736&r2=1675737&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java (original)
+++ commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java Fri Apr 24 00:34:03 2015
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Properties;
import java.util.Set;
@@ -736,6 +737,26 @@ public class TestBasicDataSource extends
// Nothing should be registered
assertEquals(0, mbs.queryNames(commons, null).size());
}
+
+ /**
+ * JIRA: DBCP-437
+ * Verify that BasicDataSource sets disconnect codes properties.
+ * Functionality is verified in pcf tests.
+ */
+ @Test
+ public void testDisconnectSqlCodes() throws Exception {
+ ArrayList<String> disconnectionSqlCodes = new ArrayList<String>();
+ disconnectionSqlCodes.add("XXX");
+ ds.setDisconnectionSqlCodes(disconnectionSqlCodes);
+ ds.setFastFailValidation(true);
+ ds.getConnection(); // Triggers initialization - pcf creation
+ // Make sure factory got the properties
+ PoolableConnectionFactory pcf =
+ (PoolableConnectionFactory) ds.getConnectionPool().getFactory();
+ assertTrue(pcf.isFastFailValidation());
+ assertTrue(pcf.getDisconnectionSqlCodes().contains("XXX"));
+ assertEquals(1, pcf.getDisconnectionSqlCodes().size());
+ }
}
/**
@@ -788,4 +809,5 @@ class TesterConnectionDelayDriver extend
public boolean acceptsURL(String url) throws SQLException {
return url.startsWith(CONNECT_STRING);
}
+
}