MySQL Connector/J 發行說明
在許多情況下,例如 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,我們希望在建立連線池時在其中放入三個連線。