<bean id="sqliteDataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <!-- <bean class="org.apache.tomcat.jdbc.pool.PoolProperties"> --> <!-- 數據庫連接池配置 --> <!-- 用戶名、密碼 --> <property name="username" value="root" /> <property name="password" value="password" /> <!-- 驅動的完整有效的java類名,建立連接的URL --> <!-- <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mysql" /> --> <property name="driverClassName" value="org.sqlite.JDBC" /> <property name="url" value="jdbc:sqlite:D:test.db" /> <!-- (int) 最大空閑連接: 連接池中容許保持空閑狀態的最大連接數量, 超過的空閑連接將被釋放, 如果設置為負數表示不限制如果啟用,將定期檢查限制連接, 如果空閑時間超過minEvictableIdleTimeMillis 則釋放連接 ( 參考testWhileIdle ) --> <property name="maxIdle" value="100" /> <!-- (int) 最小空閑連接: 連接池中容許保持空閑狀態的最小連接數量, 低於這個數量將創建新的連接, 如果設置為0 則不創建,如果連接驗證失敗將縮小這個值,默認與initialSize 相同 --> <property name="minIdle" value="10" /> <!-- (int) 最大活動連接: 連接池在同一時間能夠分配的最大活動連接的數量, 如果設置為非正數則表示不限制 --> <property name="maxActive" value="100" /> <!-- (int) 最大等待時間: 當沒有可用連接時, 連接池等待連接被歸還的最大時間( 以毫秒計數), 超過時間則拋出異常, 如果設置為-1 表示無限等待,默認30000(30秒) --> <property name="maxWait" value="10000" /> <!-- (int) 初始化連接: 連接池啟動時創建的初始化連接數量 --> <property name="initialSize" value="10" /> <!-- (boolean) 標記是否刪除泄露的連接, 如果他們超過了removeAbandonedTimout 的限制。 如果設置為true, 連接被認為是被泄露並且可以被刪除, 如果空閑時間超過removeAbandonedTimeout。 設置為true 可以為寫法糟糕的沒有關閉連接的程序修復數據庫連接。 參考logAbandoned --> <property name="removeAbandoned" value="true" /> <!-- (int) 泄露的連接可以被刪除的超時值, 單位秒應設置為應用中查詢執行最長的時間 --> <property name="removeAbandonedTimeout" value="600" /> <!-- 驗證連接是否有效,(String) SQL 查詢, 用來驗證從連接池取出的連接, 在將連接返回給調用者 之前。如果指定, 則查詢必須是一個SQL SELECT 並且必須返回至少一行記錄 查詢不必返回記錄, 但這樣將不能拋出SQL異常 --> <property name="validationQuery" value="select 1" /> <!-- (long) 避免過度驗證,保證驗證不超過這個頻率——以毫秒為單位。如果一個連接應該被驗證, 但上次驗證未達到指定間隔,將不再次驗證。 30000(30秒) --> <property name="validationInterval" value="30000" /> <!-- (boolean) 連接池創建的連接的默認的auto-commit 狀態,driver default --> <property name="defaultAutoCommit" value="true" /> <!-- 驗證失敗時,是否將連接從池中丟棄 --> <property name="testWhileIdle" value="true" /> <!-- 把空閑時間超過minEvictableIdleTimeMillis毫秒的連接斷開, 直到連接池中的連接數到minIdle為止(毫秒,30分鍾) --> <property name="timeBetweenEvictionRunsMillis" value="1200000" /> <!-- 連接池中連接可空閑的時間(毫秒,5分鍾) --> <property name="minEvictableIdleTimeMillis" value="1800000" /> <!-- 在每次空閑連接回收器線程(如果有)運行時檢查的連接數量 --> <property name="numTestsPerEvictionRun" value="5" /> </bean>