数据库连接池的配置

来源:互联网 发布:arm linux gcc安装包 编辑:程序博客网 时间:2024/04/30 08:26

    配置数据库连接池(现用的)

JNDI的配置有以下两步:

 

下面以Oracle中orcl数据库为例讲解:

 

1.context.xml文件的配置

 

在Tomcat根目录\conf\context.xml文件中<Context>节点中添加<Resource>信息,内容如下:

 

         <Context>

                   ...//原有配置

                   <Resourcename="jdbc/books" auth="Container"

                            type="javax.sql.DataSource"maxActive="100"

                            maxIdle="30"maxWait="10000" username="admin"

                            password="admin"

                   driverClassName="oracle.jdbc.driver.OracleDriver"

                   url="jdbc:oracle:thin:@localhost:1521;orcl"

                   />

         </Context>

 

2.web.xml文件的配置

在应用程序的WEB-INF\web.xml文件中<web-app>节点下添加<resource-ref>信息,内容如下:

         <web-app>

                   <resource-ref>

              <description>RestrantDataSource</description>

                 <res-ref-name>jdbc/foods</res-ref-name>

                 <res-type>javax.sql.DataSource</res-type>

                 <res-auth>Container</res-auth>

                   </resource-ref>

                   ...//其他配置信息

         </web-app>

 

 

 

 

 

                      配置数据库连接池(古老的)   

在Tomcat中配置数据库连接池有如下两种方法:

 

1.配置全局数据库连接池

2.配置局部数据库连接池

 

下面以mysql中的webdb数据库为例讲解::

 

通过以下两步配置全局数据库连接池。

 

(1)在<Tomcat安装目录>\conf\server.xml文件中找到<GlobalNamingResources>标签,并加入一个子标签<Resource>,这个子标签的配置如下:

 

         <!--为webdb数据库配置数据源连接池-->

         <Resourcename="jdbc/weddb" auth="Container"

                   type="javax.sql.DataSource"

                   <!--指定Mysql的JDBC驱动类名-->

                   driverClassName="com.mysql.jdbc.Driver"

                   <!--指定连接字符串-->

                   url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8"

                   <!--指定用户名-->

                   username="root"

                   <!--指定密码-->

                   password="root"

                   maxActive="200"

                   maxIdle="50"

                   maxWait="3000"

         />

 

         上面的配置代码有几个和数据库连接池性能有关的属性需要说明一下。

        

         #maxActive:连接池可以存储的最大连接数,也就是应用程序可以同时获得的最大的连            接数。这个属性值一般根据Web程序的最大访问量设置。

         #maxIdle :最大空闲连接数。当应用程序使用完一个数据库连接池后,如果数据库连接         池中存储的连接数小于maxIdle,这个数据并不马上释放,而是存储在连接池中,以备      其他程序的使。这个属性一般根据Web程序的平均访问量设置。

         #maxWait :暂时无法获得数据库连接的等待时间(单位:毫秒)。如果应用程序从数据

           库连接池中获得的数据库连接已经等于maxActive,而且都没有归还给数据库连接池,         这时再有程序想获得数据库连接,就会等待maxWait所所指定的时间。如果超过maxWait

           所指定的时间还无法获取数据库连接,就会抛出异常。

(2)在<Tomcat安装目录>\conf\Catalina\localhost中建立一个webdemo.xml文件(文件名要和

<Context>标签的path属性一致),然后在webdemo.xml文件中输入以下内容:

        

         <!--引用全局资源-->

         <Contextpath="/webdemo" bocBase="webdemo" debug="0">

                   <ResourceLinkname="jdbc/webdb" global="jdbc/webdb"            type="javax.sql.DataSource">

         </Context>

 

 

通过如下方法可以配置局部数据库连接池:在<Tomcat安装目录>\conf\Catalina\localhost中建立一个webdemo.xml文件,然后输入以下内容:

 

         <!--定义局部数据源连接池-->

         <Contextpath="/webdemo" docBase="webdemo" debug="0">

                   <Resourcename="jdbc/webdb" auth="Container"

                            type="javax.sql.DataSource"

                            driverClassName="com.mysql.jdbc.Driver"

                            url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8"

                            username="root"

                            password="root"

                            maxActive="200"

                            maxIlde="50"

                            maxWait="3000"

                   />

         </Context>

        

                           

原创粉丝点击