Tomcat连接池配置

1.  Tomcat c3p0连接池配置

  (1)  修改conf/server.xml,在<GlobalNamingResources>标签内添加如下内容 

<Resource name="jdbc/connPool"
	   auth="Container" 
	   description="DB Connection" 
	   driverClass="com.mysql.jdbc.Driver" 
	   factory="org.apache.naming.factory.BeanFactory" 
	   type="com.mchange.v2.c3p0.ComboPooledDataSource" 
	   maxPoolSize="10" 
	   minPoolSize="2" 
	   acquireIncrement="2" 
	   user="root" 
	   password="root" 
	   jdbcUrl="jdbc:mysql://localhost:3306/db?autoReconnect=true" />

 

  (2)  修改conf/context.xml,在<Context>标签内添加如下内容

<ResourceLink name="jdbc/connPool" global="jdbc/connPool" type="javax.sql.DataSource"/>

    注:

    ① 也可修改“conf/server.xml ”,或“conf/[serviceName]/[hostName]/[contextPath].xml ”,或“web应用目录下的META-INF/context.xml” 文件。

    ② 修改内容也可以省去(1),并将(1)中所添加内容直接添加到上述任意一个文件的<Context>标签内。

 

  (3)  将数据库驱动jar(若为zip,则将后缀修改为jar)及c3p0的jar放到tomcat的lib目录中

 

 

2.  Tomcat连接池调用方式

(1) Java直接调用

// 初始化查找命名空间 
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env"); 
// 找到DataSource
DataSource ds = (DataSource)envContext.lookup("jdbc/connPool");

   或

Context initContext = new InitialContext();
DataSource ds = 
(DataSource) initContext.lookup("java:comp/env/jdbc/pooledDS");

(2) 通过Spring方式调用

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>java:/comp/env/jdbc/connPool</value>
    </property>
</bean>

 

3.  其它说明

(1)  Resource配置说明

Resource标签的属性可自由添加,属性名为type所指定的类运行时所需的参数名。

 

(2)  Tomcat dbcp连接池配置

添加的Resource内容如下,其它同c3p0连接池配置

<Resource name="jdbc/connPool"
	 auth="Container" type="javax.sql.DataSource"
	 driverClassName="com.mysql.jdbc.Driver"
	 maxIdle="20"
	 maxWait="5000" 
	 username="root" 
	 password="admin"
	 url="jdbc:mysql://localhost:3306/bbs"
	 maxActive="100" 
	 removeAbandoned="true" 
	 removeAbandonedTimeout="60"
	 logAbandoned="true"/>

 
(3)  tomcat 5.5以前版本添加数据源,需修改web应用的web.xml,添加如下内容

<resource-ref> 
	<description>DB Connection</description>
	<res-ref-name>jdbc/connPool</res-ref-name> 
	<res-type>javax.sql.DataSource</res-type> 
	<res-auth>Container</res-auth>
</resource-ref>

 

posted @ 2013-05-03 22:26  蓼椮  阅读(217)  评论(0编辑  收藏  举报