KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfox > jdbc > datasource > ConnectionFactory


1 /* JFox, the OpenSource J2EE Application Server
2  *
3  * Distributable under GNU LGPL license by gun.org
4  * more details please visit http://www.huihoo.org/jfox
5  */

6
7 package org.jfox.jdbc.datasource;
8
9 import java.sql.Connection JavaDoc;
10 import java.sql.DriverManager JavaDoc;
11
12 import org.jfox.pool.PoolableObject;
13 import org.jfox.pool.SimpleObjectFactory;
14
15 /**
16  * @author <a HREF="mailto:young_yy@hotmail.com">Young Yang</a>
17  */

18
19 public class ConnectionFactory extends SimpleObjectFactory {
20     private String JavaDoc dbDriver = null; // database dirver class name
21
private String JavaDoc dbURL = null; // database url
22
private String JavaDoc user = null; // database user name.
23
private String JavaDoc password = null; // database password
24

25     public ConnectionFactory(Class JavaDoc classType, String JavaDoc dbDriver, String JavaDoc dbURL, String JavaDoc user, String JavaDoc password) throws Exception JavaDoc {
26         super(classType);
27         this.dbDriver = dbDriver;
28         this.dbURL = dbURL;
29         this.user = user;
30         this.password = password;
31         Class.forName(this.dbDriver);
32     }
33
34     public PoolableObject makeObject() throws Exception JavaDoc {
35         PoolableConnection pconn = (PoolableConnection) super.makeObject();
36         Connection JavaDoc conn = DriverManager.getConnection(dbURL, user, password);
37         pconn.setConnection(conn);
38         return pconn;
39     }
40
41     public void destroyObject(PoolableObject object) throws Exception JavaDoc {
42         if(object instanceof PoolableConnection) {
43             ((PoolableConnection) object).getConnection().close();
44         }
45         super.destroyObject(object);
46     }
47
48     public static void main(String JavaDoc[] args) {
49
50     }
51 }
Popular Tags