Setup JDBC DataSources under Tomcat
Reference: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html
<Context path="/cpg" docBase="cpg" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/bioDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/bioDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>30000</value>
</parameter>
<parameter>
<name>username</name>
<value>UHN</value>
</parameter>
<parameter>
<name>password</name>
<value>microarray</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
</Context>
<description>DB Connection</description>
<res-ref-name>jdbc/bioDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/bioDB">
select id, cont from aainno;
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
Foo ${row.id}<br/>
Bar ${row.cont}<br/>
</c:forEach>
</body>
</html>
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context env = new InitialContext();
DataSource pool = (DataSource) env.lookup("java:comp/env/jdbc/bioDB");
Connection database = pool.getConnection();
- server.xml before </host>
<Context path="/cpg" docBase="cpg" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/bioDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/bioDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>30000</value>
</parameter>
<parameter>
<name>username</name>
<value>UHN</value>
</parameter>
<parameter>
<name>password</name>
<value>microarray</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/test</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
</Context>
- web.xml
<description>DB Connection</description>
<res-ref-name>jdbc/bioDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
- test code
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/bioDB">
select id, cont from aainno;
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
Foo ${row.id}<br/>
Bar ${row.cont}<br/>
</c:forEach>
</body>
</html>
- servlet
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context env = new InitialContext();
DataSource pool = (DataSource) env.lookup("java:comp/env/jdbc/bioDB");
Connection database = pool.getConnection();
- Global Resources

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home