Hi,
I tried out the connection pool on Apache Tomcat/4.1.10 and was sucessfull. The databases which was tested was Oracle 9i and SQL Server 7/2000 databases.
Hope this will solve your problems....
1) The commons-dbcp-1.1.jar, commons-pool-1.1.jar and commons-collections.jar should be at Tomcat/common/lib folder.
2) The
jdbc driver,(mysql-connector-java-3.0.8-stable-bin.jar) should be available at Tomcat/common/lib folder.
3) Add the Resource name and the following details within the context at Tomcat/conf/server.xml
<Resource name="YourPoolName" scope="Shareable" type="javax.sql.DataSource" auth="Container"/>
<ResourceParams name="YourPoolName">
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/dbname?autoReconnect=true</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value></value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>5</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>username</name>
<value>Database UserName</value>
</parameter>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>password</name>
<value>database password</value>
</parameter>
</ResourceParams>
4) From the program use the following lines to access the pool.
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:/comp/env/YourPoolName");
java.sql.Connection con=ds.getConnection();
5) Restart tomcat. :-))
Note: Check for the driver and data base url. Hope this will solve your problem of creating a connection pool for tomcat.
[ January 02, 2004: Message edited by: sudeep philip ]
[ January 02, 2004: Message edited by: sudeep philip ]