5.2.2 使用数据源池
如果不能从JNDI获取数据源,那么下一个选择应该是在Spring里直接配置一个数据源池。虽然Spring没有提供一个数据源池,但Jakarta Commons Database Connection Pools(DBCP)项目(http://jakarta.apache.org/commons/dbcp)提供了一个。为了把DBCP添加到程序,我们可以下载它并把JAR文件放到Ant的生成类路径里,或是把如下<dependency>添加到Maven 2 Project Object Model(POM):
|
DBCP包含多个提供池功能的数据源,BasicDataSource是最常用的一个,因为在Spring里配置它很容易,而且它类似于Spring自己的DriveManagerDataSource(稍后会有所介绍)。
对于RaodRantz程序,我们会像下面这样配置BasicDataSource Bean:
|
前4个属性是配置BasicDataSource所必需的。driverClassName属性指定JDBC驱动类的完整修饰名称,在此我们把它配置为Hypersonic数据库的JDBC驱动。url属性用于设置数据库的完整JDBC URL。最后,username和password属性用于在连接到数据库时进行身份验证。
这4个基本属性定义了BasicDataSource的连接信息。另外,我们还可以使用其他一些属性来配置数据源池,表5.4列出了BasicDataSource中最有用的一些池配置属性。
表5.4 BasicDataSource的池配置属性
|
池配置属性 |
指定的内容 |
|
initialSize |
池启动时创建的连接数量 |
|
maxActive |
同一时间可以从池分配的最多连接数量。设置为0时表示无限制。 |
|
maxIdle |
池里不会被释放的最多空闲连接数量。设置为0时表示无限制。 |
|
maxOpenPreparedStatements |
同一时间能够从语句池里分配的已备语句的最大数量。 |
|
maxWait |
在抛出异常之前,池等待连接被回收的最长时间 |
|
minEvictableIdleTimeMillis |
连接保持空闲而不被驱逐的最长时间。 |
|
minIdle |
在不新建连接的条件下,池中保持空闲的最少连接数。 |
|
poolPreparedStatements |
是否对已备语句进行池管理(布尔值)。 |
在我们的范例里,池启动时有5个连接,在需要时可以新建连接,但最大连接数量为10。
| 回书目 上一节 下一节 |
|
||||
| · 浏览器的战国时代 · CCNA认证考试Pass必备 · 无线网络环境 · 无线路由器故障处理 · 解析35岁技术人的价值.. · 无线重中之重:安全问题 · 无线局域网基本知识 · 家庭无线局域网 |
· 华为七千人主动辞职规.. · 微软出价446亿美元收购.. · 虚拟化的“赤壁之战” · 802.11n:下一代的无线.. · 脉冲无线电uwb专题 · AIX操作系统管理应用 · 云计算时代来临 · 求职必杀技 决战面试官 |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · 无线网状网(MESH) · Windows远程桌面应用 · C#技术开发指南 |
· Apache技术专题 · Windows集群服务应用 · C#技术开发指南 · 文档格式标准开战 OOXM.. · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 解析35岁技术人的价值.. |
|||