Class DBPool ver. 1.1  - database connection pool




constructor
public DBPool(String driver,String dburl,String username,String password)

Constructor. Parameters are:
JDBC driver name
database url
user name
password

creates database connection pool. By default can keep up to 20 connections

set maximum number for open connections
public void setMax(int maxConnections)

close connections and release resources
public void destroy()

get connection
public Connection getConnection()

get connection (wait so many milliseconds if can not get connection immediately)
public Connection getConnection(int wait_time_in_ms)

return connection to the pool
public void freeConnection(Connection c)
 

For example:

import java.io.*;
import java.sql.*;

public class test
{
    public static void main(String argv[])
    {
        // PointBase SQL server
        String dburl = "jdbc:pointbase:tb";  //database name is tb
        String driver = "com.pointbase.jdbc.jdbcDriver";

        Statement s1;
        String select_sql = "SELECT * FROM PLAYS";
        ResultSet rs;

        DBPool dbPool;

        // create database connection pool
        // user name is public, password is also public
        try
        {
         dbPool=new DBPool(driver,dburl,"public","public");
        }
        catch (SQLException ex)
        { System.out.println("can not connect to db");
          return; }

        Connection c1,c2;

        // get connections
        c1=dbPool.getConnection();

        // get another connection. Wait 5 sec.
        c2=dbPool.getConnection(5000);

      // some jdbc operators
      try
      {
        s1=c1.createStatement();
        rs = s1.executeQuery(select_sql);
        while (rs.next())
          System.out.println(rs.getString( 1 ));

        rs.close();
        s1.close();
      }
      catch (SQLException ex)
      {
        System.out.println("can not execute query");
        return;
      }

       // return first connection to the pool
       dbPool.freeConnection(c1);

       // release resources
       dbPool.destroy();

    }

}
 

For downloading: DBPool.class
 

Comments, suggestions ?