Spring中 CP30數據源配置 <!-- 加載屬性文件 01--> <bean id= "propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" > <property name="location" > <value> classpath:jdbc.properties</value > </property> </bean> <!-- 加載屬性文件 02--> <!-- context:property- placeholder location="classpath:jdbc.properties" / --> <!-- C3P0數據庫配置 詳解 http://hi.baidu.com/guanmi/item/395667d1fa02371dd90e4457 --> <bean id= "c3p0" class ="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" > <property name="driverClass" value="${jdbc.driver}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 當鏈接池中的鏈接耗盡的時候c3p0一次同時獲取的鏈接數。Default: 3 --> <property name="acquireIncrement" value="5" /> <!-- 定義在從數據庫獲取新鏈接失敗後重復嘗試的次數。Default: 30 --> <property name="acquireRetryAttempts" value="30" /> <!-- 兩次鏈接中間隔時間,單位毫秒。Default: 1000 --> <property name="acquireRetryDelay" value="1000" /> <!-- 鏈接關閉時默認將全部未提交的操做回滾。Default: false --> <property name="autoCommitOnClose" value="false" /> <!-- 當鏈接池用完時客戶端調用getConnection()後等待獲取新鏈接的時間,超時後將拋出 SQLException,如設爲0則無限期等待。單位毫秒。Default: 0 --> <property name="checkoutTimeout" value="10000" /> <!-- 每60秒檢查全部鏈接池中的空閒鏈接。Default: 0 --> <property name="idleConnectionTestPeriod" value="60" /> <!-- 初始化時獲取的鏈接數,取值應在minPoolSize與maxPoolSize之間。Default: 3 --> <property name="initialPoolSize" value="10" /> <!-- 鏈接池中保留的最小鏈接數 --> <property name="minPoolSize" value="5" /> <!-- 鏈接池中保留的最大鏈接數。Default: 15 --> <property name="maxPoolSize" value="30" /> <!-- 最大空閒時間,60秒內未使用則鏈接被丟棄。若爲0則永不丟棄。Default: 0 --> <property name="maxIdleTime" value="60" /> <!-- c3p0將建一張名爲Test的空表,並使用其自帶的查詢語句進行測試。若是定義了這個參數那麼 屬性preferredTestQuery將被忽略。你不能在這張Test表上進行任何操做,它將只供c3p0測試 使用。Default: null --> <property name="automaticTestTable" value="c3p0_TestTable" /> <!-- 獲取鏈接失敗將會引發全部等待鏈接池來獲取鏈接的線程拋出異常。可是數據源仍有效 保留,並在下次調用getConnection()的時候繼續嘗試獲取鏈接。若是設爲true,那麼在嘗試 獲取鏈接失敗後該數據源將申明已斷開並永久關閉。Default: false --> <property name="breakAfterAcquireFailure" value="false" /> </bean> Spring中 DBCP數據源配置 <!-- dbcp 配置 http://archive.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.1.zip --> <bean id= "dbcp" class ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" > <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!--鏈接池啓動時的初始化 --> <property name="initialSize" value="1" /> <!--鏈接池的最大值 --> <property name="maxActive" value="30" /> <!-- 最大空閒值,當通過一個高峯時間後,鏈接池能夠慢慢將已經用不到的連接慢慢釋放一部分,一直減小到 maxle爲止 --> <property name="maxIdle" value="2" /> <!-- 最小空閒值,當空閒的鏈接數少於閥值時,鏈接池就會預申請去一些連接,以避免洪峯來時來不及申請 --> <property name="minIdle" value="1" /> <!-- 運行判斷鏈接超時任務的時間間隔,單位爲毫秒,默認爲-1,即不執行任務。 --> <property name="timeBetweenEvictionRunsMillis" value="3600000" /> <!-- 鏈接的超時時間,默認爲半小時。 --> <property name="minEvictableIdleTimeMillis" value="3600000" /> </bean> </beans>