1. Open context.xml file, either in <tomcat installation directory>/conf or in META-INF folder of the web application for which you want to enable database connection pooling. If you do not have one in META-INF directory, create one and copy the contents of the context.xml in <tomcat installation directory>/conf.
2. Copy the following and paste with in the <context> element. I have it for oracle10g database. You can modify it to suit your database. The following configuration takes care of resource leaks when you forget closing connections or result sets or so.
Connection Pooling will not work for databases with out password.
<Resource name=“Jdbc/myDB”
auth=“Container”
type=“javax.sql.DataSource”
driverClassName=“oracle.jdbc.driver.OracleDriver”
url=“your database Connection URL “
username=“database user name“
password=“database password“ maxActive=“20” maxIdle=“10”
maxWait=“-1”
removeAbandoned=“true”
removeAbandonedTimeout=“60”/>
3. Copy the following and paste it in web.xml of your
web application
<resource-ref>
<description>My connection Pooling</description>
<res-ref-name>Jdbc/myDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4. Code some thing like following to get the Connection
public Connection getMyDBConnection() {
Connection connection =null;
try{
Context initCTX = new InitialContext();
Context envCtx = (Context) initCTX.lookup(“Jdbc/myDB “);
DataSource ds = (DataSource)envCtx.lookup(“Jdbc/QCToolDB”);
connection = ds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return connection;
}
This is a great article. i an new to java and database.
Do we have to look up (context)..everytime i call getCoonection()?
You do not want to look up context every time you require a connection. The example code in the blog is just an idea on how to get connection and not how it is implemented in your application.
Dear Sukumar,
I want to know file jar requirements for connection pooling.
Sagar,
In the above explantion, the configuration is done for oracle. So, classes12.jar file the required jar file. Let me know if did answer you question.