下面的例子说明了如何在tomcat6中已JNDI的方式配置一个c3p0连接池
1、把c3p0的三个jar包和MySQL的jdbc驱动放到tomcat的lib目录,以c3p0-0.9.2和MySQL5.5为例,共包括以下jar包
c3p0-0.9.1.2.jar
c3p0-0.9.1-pre5a.jar
mysql-connector-java-3.1.13-bin.jar
方法1
2、修改tomcat的conf目录下的server.xml,在GlobalNamingResources节点中增加以下内容:
<Resource auth="Container"
description="DB Connection"
driverClass="com.mysql.jdbc.Driver"
maxPoolSize="10"
minPoolSize="2"
acquireIncrement="2"
name="jdbc/mysqlDB"
user="root"
password="123456"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://localhost:3306/test?autoReconnect=true" />
3、修改tomcat的conf目录下的context.xml,在context节点中增加以下内容:
<ResourceLink name="jdbc/mysqlDB" global="jdbc/mysqlDB" type="javax.sql.DataSource"/>
4、在eclipse中新建一个web工程,修改工程的web.xml,增加以下内容:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
方法2
tomcat的conf文件夹下server.xml配置
<Context path="/pf" docBase="D:\JavaProject\pf_yksl\WebRoot" debug="0" crosscontext="true" reloadable="false" workDir="D:\JavaProject\pf_yksl\work">
<Resource auth="Container"
description="DB Connection"
driverClass="com.mysql.jdbc.Driver"
maxPoolSize="10"
minPoolSize="2"
acquireIncrement="2"
name="jdbc/yksl"
user="root"
password="wjj"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:mysql://192.168.255.21:3306/pf_yksl_xcsq?autoReconnect=true" />
</Context>