连接器和 API 手册 / 第 3 章 MySQL Connector/J 开发人员指南 / 3.13 将 Connector/J 与 Spring 结合使用 /
3.13.3 与 Spring 的连接池
在很多情况下,比如web应用,都会有大量的小数据库事务。在这种情况下,根据需要创建可用于 Web 请求的数据库连接池通常是有意义的。虽然在建立连接时 MySQL 不会产生额外的进程,但创建和设置连接仍然有少量开销。连接池也缓解了状态下收集大量套接字等问题
TIME_WAIT
。
使用 Spring 设置 MySQL 连接池就像在应用程序上下文中更改数据源配置一样简单。我们可以使用许多配置。第一个示例基于
Jakarta Commons DBCP 库。下面的示例替换了基于
DriverManagerDataSource
DBCP 的 BasicDataSource 的源配置。
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${db.driver}"/>
<property name="url" value="${db.jdbcurl}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="initialSize" value="3"/>
</bean>
两种解决方案的配置非常相似。不同之处在于 DBCP 将连接到数据库,而不是在每次请求连接时都创建一个新连接。我们还在这里设置了一个名为 的参数
initialSize
。这告诉 DBCP 我们希望在池中创建三个连接。