MySQL Connector/J 发行说明
在许多情况下,例如 Web 应用程序,会有大量的数据库小规模事务。在这种情况下,通常创建一个可供 Web 请求按需使用的数据库连接池是有意义的。尽管 MySQL 在建立连接时不会生成额外的进程,但创建和设置连接仍然需要少量开销。连接池还可以缓解一些问题,例如在 TIME_WAIT
状态下收集大量套接字。
使用 Spring 设置 MySQL 连接池就像更改应用程序上下文中的数据源配置一样简单。我们可以使用多种配置。第一个示例基于 Jakarta Commons DBCP 库。下面的示例使用 DBCP 的 BasicDataSource 替换了基于 DriverManagerDataSource
的源配置。
<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 我们希望在创建连接池时在池中建立三个连接。