Configuring a DataSource in Tomcat
By Emiley J. Viewed: 31740 times Emailed: 165 times Printed: 184 times
Tomcat makes it easy to set up a connection pool so that servlets and JSPs can efficiently share database connections. In web sites that have many simultaneous users, a connection pool improves efficiency by sharing existing database connections, rather than creating a new connection and tearing it down every time an application has to use the database.
Another benefit of configuring a connection pool is that you can change the database system that a servlet or JSP is using without touching the Java code, because the database resource is configured outside of the servlet or JSP.
Here are the steps for configuring a DataSource with Tomcat:
-
Create a Resource
Add a resource-ref
Example below shows the Resource and a ResourceParams elements in server.xml. This example describes a DataSource that connects with an Oracle 8i database.
The resource element in server.xml
<Resource name="jdbc/oracle-8i-athletes" scope=
"Shareable" type="javax.sql.DataSource" auth=
"Container" description="Home Oracle 8i Personal Edition"/>
<ResourceParams name="jdbc/oracle-8i-athletes">
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.0.2:1521:ORCL</value>
</parameter>
<parameter>
<name>username</name>
<value>scott</value>
</parameter>
<parameter>
<name>password</name>
<value>tiger</value>
</parameter>
</ResourceParams>
Create a Resource and ResourceParams element for each database that your application uses. Example below shows the resource-ref element associated with the Resource specified by example above.
A resource-ref element specifies a DataSource in web.xml
<!-- top of web.xml file -->
<resource-ref>
<res-ref-name>jdbc/oracle-8i-athletes</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- rest of web.xml file -->
The JNDI path to this DataSource, which you use in a JNDI lookup (see the next recipe), is jdbc/oracle-8i-athletes.
Comments(0)
Be the first one to add a comment
Latest Tutorials
More Latest News
Most Viewed Articles (in last 30 days)

