| Refresh | Home EGTry.com

use MiniConnectionPoolManager to manage teradata jdbc connection pool


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