Tomcat7.0中配置DBCP连接池以及连接池参数介绍
Tomcat7.0配置连接池的步骤:
- 第一步:在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息:
<Context>
<Resource
name="jdbc/drp"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxIdle="2"
maxWait="5000"
username="drp"
password="drp"
url="jdbc:oracle:thin:@localhost:1521:bjpowernode"
maxActive="4"/>
</Context>
- 第二步:把配置文件context.xml剪切到webRoot/META-INF中。(若是只有一个项目使用连接池的话,则剪切到使用连接池项目webRoot/META-INF中。若是多个项目都使用连接池,则不进行操作第二步。)
- 第三步:则在程序中获得连接:
//new DBcP pool
Context ctx=new InitialContext();
//通过JNDI查找DataSource
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/drp");
conn=ds.getConnection();
其中第一步中的上下文context.xml中的参数的解析如下:
其中的name属性是数据源名称,通常采取jdbc/**.
type属性是数据源方式。
driverClassName属性是驱动程序名称。(此文中是oracle驱动程序)
username,password,数据库名称和密码
url:访问的数据库路径。其中url的内容组成解析上篇博客中已经分析——Oracle安装以及测试Oracle数据库
maxActive属性是并发连接的最大数。设置为0则无限制。
maxWait属性是等待连接的最大连接的时间。
maxIdle属性是连接池中空闲的连接的个数。
上文中的设置的 maxActive="4"说明可以最大连接的个数为4个,再建立连接,则出现异常。
而maxIdle="2"说明当关闭数据库时(不是真正的断开连接,而是归还连接池中)连接池中最大可以有空闲的连接数为2个。
若是再有建立连接,此时若连接池中没有空闲的连接,但是又没有达到maxActive并发的最大连接数,则在连接池中建立连接。
ps:有些教材Tomcat配置连接池,需要在Tomcat/lib中加入驱动包ojbc14.jar.但是自己在Tomcat7.0下配置连接池时,没有加入驱动jar包依然运行正常。