// Copyright (c) 1998 Thomas E. Davis import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Connection; public class JDBCConnectionPool extends ObjectPool { private String dsn, usr, pwd; public JDBCConnectionPool( String driver, String dsn, String usr, String pwd ) { try { Class.forName( driver ).newInstance(); } catch( Exception e ) { e.printStackTrace(); } this.dsn = dsn; this.usr = usr; this.pwd = pwd; } Object create() throws SQLException { return( DriverManager.getConnection( dsn, usr, pwd ) ); } boolean validate( Object o ) { try { return( ! ( ( Connection ) o ).isClosed() ); } catch( SQLException e ) { e.printStackTrace(); return false; } } void expire( Object o ) { try { ( ( Connection ) o ).close(); } catch( SQLException e ) { e.printStackTrace(); } } public Connection borrowConnection() throws SQLException { try { return( ( Connection ) super.checkOut() ); } catch( Exception e ) { throw( (SQLException) e ); } } public void returnConnection( Connection c ) { super.checkIn( c ); } }