文件首頁
MySQL Connector/J 開發人員指南
相關文件 下載本手冊
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


15.3 使用 Spring 的連線池

在許多情況下,例如 Web 應用程式,會有大量的資料庫小型交易。在這種情況下,通常最好建立一個資料庫連線池,以便根據需要提供給 Web 請求。雖然 MySQL 在建立連線時不會產生額外的程序,但建立和設定連線仍然會有一些額外負荷。連線池還可以減輕在 TIME_WAIT 狀態下收集大量 Socket 的問題。

使用 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,我們希望在建立連線池時在其中放入三個連線。