Author: dain Date: Mon Jul 23 12:53:27 2007 New Revision: 558846 URL: http://svn.apache.org/viewvc?view=rev&rev=558846 Log: DBCP-225 throw an IllegalStateException if connection factory returns a null connection. This avoids creating DelegatingConnections with a null delegate.
Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/CPDSConnectionFactory.java jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java?view=diff&rev=558846&r1=558845&r2=558846 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java Mon Jul 23 12:53:27 2007 @@ -292,6 +292,9 @@ synchronized public Object makeObject() throws Exception { Connection conn = _connFactory.createConnection(); + if (conn == null) { + throw new IllegalStateException("Connection factory returned null from createConnection"); + } if(null != _stmtPoolFactory) { KeyedObjectPool stmtpool = _stmtPoolFactory.createPool(); conn = new PoolingConnection(conn,stmtpool); Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/CPDSConnectionFactory.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/CPDSConnectionFactory.java?view=diff&rev=558846&r1=558845&r2=558846 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/CPDSConnectionFactory.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/CPDSConnectionFactory.java Mon Jul 23 12:53:27 2007 @@ -175,6 +175,11 @@ } else { pc = _cpds.getPooledConnection(_username, _password); } + + if (pc == null) { + throw new IllegalStateException("Connection pool data source returned null from getPooledConnection"); + } + // should we add this object as a listener or the pool. // consider the validateObject method in decision pc.addConnectionEventListener(this); Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java?view=diff&rev=558846&r1=558845&r2=558846 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java Mon Jul 23 12:53:27 2007 @@ -159,6 +159,11 @@ } else { pc = _cpds.getPooledConnection(username, password); } + + if (pc == null) { + throw new IllegalStateException("Connection pool data source returned null from getPooledConnection"); + } + // should we add this object as a listener or the pool. // consider the validateObject method in decision pc.addConnectionEventListener(this); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]