package org.jfox.jdbc.datasource;
import java.sql.Connection;
import java.sql.DriverManager;
import org.huihoo.jfox.pool.PoolableObject;
import org.huihoo.jfox.pool.SimpleObjectFactory;
public class ConnectionFactory extends SimpleObjectFactory {
private String dbDriver = null; private String dbURL = null; private String user = null; private String password = null;
public ConnectionFactory(Class classType,String dbDriver,String dbURL,String user,String password) throws Exception {
super(classType);
this.dbDriver = dbDriver;
this.dbURL = dbURL;
this.user = user;
this.password = password;
Class.forName(this.dbDriver);
}
public PoolableObject makeObject() throws Exception {
PoolableConnection pconn = (PoolableConnection)super.makeObject();
Connection conn = DriverManager.getConnection(dbURL, user, password);
pconn.setConnection(conn);
return pconn;
}
public void destroyObject(PoolableObject object) throws Exception {
if(object instanceof PoolableConnection){
((PoolableConnection)object).getConnection().close();
}
super.destroyObject(object);
}
public static void main(String[] args) {
}
}