服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

Tomcat 5.0-5.5连接池配置指南


发布日期:2022年02月01日
 
Tomcat 5.0-5.5连接池配置指南

本文以目前最流行的MySQL为例讲解通过Tomcat连接池连接MySQL数据库的基本步骤如果你了解MySQL可跳过第一步

在进行Tomcat连接池配置前先解压缩mysqlconnectorjavaxxxzip将其中的mysqlconnectorjavaxxxxxjar取出置于\common\lib中

接下来让我们一起进入精彩的Tomcat配置之旅

新建用户及数据库

操作步骤如下

C:\Documents and Settings\Administrator>d:

D:\>cd mysql\bin

D:\MySQL\bin>mysql u root p

Enter password: *******

Welcome to the MySQL monitor Commands end with ; or \g

Your MySQL connection id is to server version: ant

Type help; or \h for help Type \c to clear the buffer

mysql> GRANT ALL PRIVILEGES ON jcc* TO jcc@localhost IDENTIFIED BY

WITH GRANT OPTION;

Query OK rows affected ( sec)

mysql> USE mysql;

Database changed

mysql> SELECT HostUserPassword FROM user;

++++

| Host | User | Password |

++++

| localhost | root | *DBECCADEECDE |

| % | jsp | *CABFDACDCBBEAEF |

| localhost | jcc | *CABFDACDCBBEAEF |

++++

rows in set ( sec)

mysql> exit

Bye

D:\MySQL\bin>mysql u jcc p

Enter password: **********

Welcome to the MySQL monitor Commands end with ; or \g

Your MySQL connection id is to server version: ant

Type help; or \h for help Type \c to clear the buffer

mysql> CREATE DATABASE jcc;

Query OK row affected ( sec)

mysql> USE jcc;

Database changed

mysql> CREATE TABLE user(

> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY

> name VARCHAR() NOT NULL

> );

Query OK rows affected ( sec)

mysql> INSERT INTO user (name) VALUES (Corebit);

Query OK row affected ( sec)

mysql> INSERT INTO user (name) VALUES (Ivan);

Query OK row affected ( sec)

mysql> SELECT * FROM user;

+++

| id | name |

+++

| | Corebit |

| | Ivan |

+++

rows in set ( sec)

mysql>

配置Tomcat连接池

Tomcat进行如下配置

在\conf\serverxml的之间加入以下代码

factorymonsdbcpBasicDataSourceFactory

maxActive

maxIdle

maxWait

username jcc

password

driverClassName commysqljdbcDriver

urljdbc:mysql://localhost/jcc

Tomcat进行如下配置

在\conf\serverxml的之间加入以下代码

在/下新建MySQL数据库连接文件Selectjsp

Selectjsp源码如下

);while(rsnext()){outprint(rsgetString()+ );outprint(rsgetString()+

);}rsclose();stmtclose();connclose();}catch(Exception e){outprint(e);}%>

运行显示结果如下

Userlist

Corebit

Ivan

则表示数据库连接成功!恭喜!恭喜!

否则请检查数据库连接器版本出错可能性比较高!

*注

Tomcat连接池中部分参数说明如下

maxActive=

maxIdle=

maxWait=

jdbc:mysql://localhost/jcc

PS如果最大数据库活跃连接数过大可想而知内存占用量是非常惊人的!如果空闲连接数过大则资源利用率低连接池长期未释放可导致连接池结点异常所以选好maxActive和maxIdle是连接池性能的关键因素当然这取决于服务器环境

*附

连接池运作原理

在实际应用开发中特别是在WEB应用系统中如果JSPServlet或EJB使用JDBC直接访问数据库中的数据每一次数据访问请求都必须经历建立数据库连接打开数据库存取数据和关闭数据库连接等步骤而连接并打开数据库是一件既消耗资源又费时的工作如果频繁发生这种数据库操作系统的性能必然会急剧下降甚至会导致系统崩溃数据库连接池技术是解决这个问题最常用的方法在许多应用程序服务器(例如WeblogicWebSphereJBoss)中基本都提供了这项技术无需自己编程但是深入了解这项技术是非常必要的

数据库连接池技术的思想非常简单将数据库连接作为对象存储在一个Vector对象中一旦数据库连接建立后不同的数据库访问请求就可以共享这些连接这样通过复用这些已经建立的数据库连接可以克服上述缺点极大地节省系统资源和时间

数据库连接池的主要操作如下

)建立数据库连接池对象(服务器启动)

)按照事先指定的参数创建初始数量的数据库连接(即空闲连接数)

)对于一个数据库访问请求直接从连接池中得到一个连接如果数据库连接池对象中没有空闲的连接且连接数没有达到最大(即最大活跃连接数)创建一个新的数据库连接

)存取数据库

)关闭数据库释放所有数据库连接(此时的关闭数据库连接并非真正关闭而是将其放入空闲队列中如实际空闲连接数大于初始空闲连接数则释放连接)

)释放数据库连接池对象(服务器停止维护期间释放数据库连接池对象并释放所有连接)

希望本文能对你使用Tomcat连接池连接MySQL数据库有所帮助!

上一篇:Tomcat的RemoteAddrValve的使用

下一篇:tomcat下连接池的配置