KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > espada > bugtracker > persistence > DatabaseConnectionPool


1
2 package com.espada.bugtracker.persistence;
3
4 import java.util.Properties JavaDoc;
5 import java.sql.Connection JavaDoc;
6 import com.espada.bugtracker.util.PropertyFactory;
7
8 // Referenced classes of package com.sr.espada.se.util.db.pool:
9
// DatabaseConnectionException, DbConnectionBroker
10

11 public abstract class DatabaseConnectionPool
12 {
13
14     public static Connection JavaDoc getConnection()
15         throws DatabaseConnectionException
16     {
17         boolean flag = true;
18         if(dbServer == null)
19             flag = readConfig();
20         if(dbLogFile == null)
21             flag = flag && readConfig();
22         if(flag)
23         {
24             if(myDBCB == null)
25                 try
26                 {
27                     myDBCB = new DbConnectionBroker(dbDriver, dbServer, dbUser, dbPwd, dbMinConns, dbMaxConns, dbLogFile, dbMaxConnTime);
28                 }
29                 catch(Exception JavaDoc exception)
30                 {
31                     throw new DatabaseConnectionException("Database Connection failed.- Please Check Driver");
32                 }
33             return myDBCB.getConnection();
34         } else
35         {
36             throw new DatabaseConnectionException("Config File not found");
37         }
38     }
39
40     public static void freeConnection(Connection JavaDoc connection)
41     {
42         myDBCB.freeConnection(connection);
43     }
44
45     private static boolean readConfig()
46     {
47         try
48         {
49             if(myDBCB != null)
50                 myDBCB.destroy();
51             myDBCB = null;
52             Properties JavaDoc p = PropertyFactory.getInstance();
53             dbServer = (String JavaDoc) p.get("bugtracker.database.serverString");
54             dbUser = (String JavaDoc) p.get("bugtracker.database.username");
55             dbPwd = (String JavaDoc) p.get("bugtracker.database.password");
56             dbDriver = (String JavaDoc) p.get("bugtracker.database.driver");
57             dbMinConns = Integer.parseInt((String JavaDoc) p.get("bugtracker.database.minConns"));
58             dbMaxConns = Integer.parseInt((String JavaDoc) p.get("bugtracker.database.maxConns"));
59             dbMaxConnTime = Double.parseDouble((String JavaDoc) p.get("bugtracker.database.maxConnTime"));
60             dbLogFile = (String JavaDoc) p.get("bugtracker.database.logFile");
61             return true;
62         }
63         catch(Exception JavaDoc exception)
64         {
65             return false;
66         }
67     }
68
69     public DatabaseConnectionPool()
70     {
71     }
72
73     private static String JavaDoc dbServer = null;
74     private static String JavaDoc dbUser = null;
75     private static String JavaDoc dbPwd = null;
76     private static String JavaDoc dbDriver = null;
77     private static DbConnectionBroker myDBCB = null;
78     private static int dbMinConns;
79     private static int dbMaxConns;
80     private static double dbMaxConnTime;
81     private static String JavaDoc dbLogFile = null;
82
83 }
84
Popular Tags