package pool;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import javax.sql.PooledConnection;
import com.teradata.jdbc.TeraConnectionPoolDataSource;
import biz.source_code.miniConnectionPoolManager.MiniConnectionPoolManager;
public class MiniPoolHello {
private static long time=System.currentTimeMillis();
public static void main(String[] args) throws Exception {
TeraConnectionPoolDataSource ds=new TeraConnectionPoolDataSource();
ds.setdatabaseName("aed_db");
ds.setDSName("tdwdev.egtry.com"); //Type 4 JDBC
ds.setuser("username001");
ds.setpassword("password001");
int maxConn=10;
int preConn=3;
trace("constucting pool");
MiniConnectionPoolManager pool=new MiniConnectionPoolManager(ds,5);
trace("done\n");
Connection conns[]=new Connection[3];
for(int i=1; i<=3; i++) {
trace("make a pre-connection "+i);
conns[i-1]=pool.getConnection();
trace("done\n");
}
for(int i=0; i<3; i++) conns[i].close();
trace("to get a connection from pool");
Connection conn=pool.getConnection();
trace("done\n");
trace("make a simple query");
String query="select * from aed_views.GoalDesc";
PreparedStatement stmt=conn.prepareStatement(query);
ResultSet rs=stmt.executeQuery();
while(rs.next()) {
String col1=rs.getString(1);
//System.out.println("col1="+col1);
}
trace("done\n");
conn.close();
pool.dispose();
}
public static void trace(String msg) {
long now=System.currentTimeMillis();
System.out.println(new Date()+"(+"+(now-time)+"):"+msg);
time=now;
}
}
sample output
Fri Jul 15 11:23:52 CDT 2011(+31):constucting pool
Fri Jul 15 11:23:52 CDT 2011(+0):done
Fri Jul 15 11:23:52 CDT 2011(+0):make a pre-connection 1
Fri Jul 15 11:23:53 CDT 2011(+531):done
Fri Jul 15 11:23:53 CDT 2011(+0):make a pre-connection 2
Fri Jul 15 11:23:53 CDT 2011(+204):done
Fri Jul 15 11:23:53 CDT 2011(+0):make a pre-connection 3
Fri Jul 15 11:23:53 CDT 2011(+234):done
Fri Jul 15 11:23:53 CDT 2011(+0):to get a connection from pool
Fri Jul 15 11:23:53 CDT 2011(+0):done
Fri Jul 15 11:23:53 CDT 2011(+0):make a simple query
Fri Jul 15 11:23:53 CDT 2011(+94):done