1. 程式人生 > >dbcp2資料來源配置詳解

dbcp2資料來源配置詳解

DBCP2詳細的配置表

常用連結配置

引數 描述
username 傳遞給JDBC驅動的用於建立連線的使用者名稱
password 傳遞給JDBC驅動的用於建立連線的密碼
url 傳遞給JDBC驅動的用於建立連線的URL
driverClassName 使用的JDBC驅動的完整有效的java 類名
connectionProperties 當建立新連線時被髮送給JDBC驅動的連線引數,格式必須是 [propertyName=property;]。
注意:引數user/password將被明確傳遞,所以不需要包括在這裡。

資料來源連線數量配置

引數 預設值 描述
initialSize 0 初始化連線:連線池啟動時建立的初始化連線數量,1.2版本後支援
maxActive 8 最大活動連線:連線池在同一時間能夠分配的最大活動連線的數量, 如果設定為非正數則表示不限制
maxIdle 8 最大空閒連線:連線池中容許保持空閒狀態的最大連線數量,超過的空閒連線將被釋放,如果設定為負數表示不限制
minIdle 0 最小空閒連線:連線池中容許保持空閒狀態的最小連線數量,低於這個數量將建立新的連線,如果設定為0則不建立
maxWait 無限 最大等待時間:當沒有可用連線時,連線池等待連線被歸還的最大時間(以毫秒計數),超過時間則丟擲異常,如果設定為-1表示無限等待

事務屬性配置

引數 預設值 描述
defaultAutoCommit true 連線池建立的連線的預設的auto-commit狀態
defaultReadOnly driver default 連線池建立的連線的預設的read-only狀態. 如果沒有設定則setReadOnly方法將不會被呼叫.(某些驅動不支援只讀模式,比如:Informix)
defaultTransactionIsolation driver default 連線池建立的連線的預設的TransactionIsolation狀態. 下面列表當中的某一個: (參考javadoc) 
NONE、READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ、SERIALIZABLE
defaultCatalog 連線池建立的連線的預設的catalog

資料來源連線健康狀況檢查

引數 預設值 描述
validationQuery SQL查詢,用來驗證從連線池取出的連線,在將連線返回給呼叫者之前.如果指定,則查詢必須是一個SQL SELECT並且必須返回至少一行記錄
testOnBorrow true 指明是否在從池中取出連線前進行檢驗,如果檢驗失敗,則從池中去除連線並嘗試取出另一個.
注意: 設定為true後如果要生效,validationQuery引數必須設定為非空字串
testOnReturn false 指明是否在歸還到池中前進行檢驗.
注意: 設定為true後如果要生效,validationQuery引數必須設定為非空字串
testWhileIdle false 指明連線是否被空閒連接回收器(如果有)進行檢驗.如果檢測失敗,則連線將被從池中去除.
注意: 設定為true後如果要生效,validationQuery引數必須設定為非空字串
timeBetweenEvictionRunsMillis -1 在空閒連接回收器執行緒執行期間休眠的時間值,以毫秒為單位.如果設定為非正數,則不執行空閒連接回收器執行緒
numTestsPerEvictionRun 3 在每次空閒連接回收器執行緒(如果有)執行時檢查的連線數量
minEvictableIdleTimeMillis 10006030 連線在池中保持空閒而不被空閒連接回收器執行緒(如果有)回收的最小時間值,單位毫秒

快取語句

引數 預設值 描述
poolPreparedStatements false 開啟池的prepared statement 池功能
maxOpenPreparedStatements 不限制 statement池能夠同時分配的開啟的statements的最大數量, 如果設定為0表示不限制

連線洩露回收

引數 預設值 描述
removeAbandoned false 標記是否刪除洩露的連線,如果他們超過了removeAbandonedTimout的限制.如果設定為true, 連線被認為是被洩露並且可以被刪除,如果空閒時間超過removeAbandonedTimeout. 設定為true可以為寫法糟糕的沒有關閉連線的程式修復資料庫連線.
removeAbandonedTimeout 300 洩露的連線可以被刪除的超時值, 單位秒
logAbandoned false 標記當Statement或連線被洩露時是否列印程式的stack traces日誌。被洩露的Statements和連線的日誌新增在每個連線開啟或者生成新的Statement,因為需要生成stack trace。

注意:

  • Java資料庫連線有“8小時問題”,所以destroy-method="close"一定要加上。“8小時問題”是指一個連線空閒8小時資料庫會自動關閉,而資料來源並不知道。
  • 高併發下,可以testOnBorrow設定false,testWhileIdle設定為true,這樣就會定時對後臺空連結進行檢測發現無用連線就會清除掉,不會每次都去都去檢測是否8小時的空連結。


相關推薦

dbcp2資料來源配置

DBCP2詳細的配置表 常用連結配置 引數 描述 username 傳遞給JDBC驅動的用於建立連線的使用者名稱 password 傳遞給JDBC驅動的用於建立連線的密碼 url

BoneCP資料來源配置

BoneCP是一個快速,開源的資料庫連線池。幫你管理資料連線讓你的應用程式能更快速地訪問資料庫。 比C3P0/DBCP連線池快25倍。 為什麼 BoneCP 連線池的效能這麼高呢? 1. BoneCP 不用 synchronized 關鍵字來處理多執行緒對資源的

HikariCP配置+多資料來源

                        SpringBo

SpringBoot多資料來源及MyBatis配置

前言 最近迫於專案需要,筆者踏上了springboot多資料來源的配置之旅。之前筆者配置過spring的動態多資料來源切換,當時使用的是JDBC Template。 目前專案中持久化框架使用是mybatis,經過分析後不難發現,多資料來源配置需要解決兩個問題,一個是由原先的spring經典方式切換到了

資料庫配置-DBCP資料來源配置

資料庫連線使用DBCP的方式連線spring 配置 <!-- DBCP資料來源 driverClassName:驅動名 url:資料庫地址 username:登入名 password:登

Spring Boot 2.x基礎教程:預設資料來源Hikari的配置

通過上一節的學習,我們已經學會如何應用Spring中的JdbcTemplate來完成對MySQL的資料庫讀寫操作。接下來通過本篇文章,重點說說在訪問資料庫過程中的一個重要概念:資料來源(Data Source),以及Spring Boot中對資料來源的建立與配置。 基本概念 在開始說明Spring Boot中

setting.xml 配置

校驗 找不到 順序 裁剪 全局 -- mls leg 觸發 文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用戶配置: ${user.home}/.m2/settings.xml note:用戶配置優先於全局配置。${user.home}

【Spring】Spring MVC原理及配置

進行 return sub sca scrip uil 線程安全 松耦合 必須 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡

kafka參數配置

kafka 參數 broker.idbroker的唯一標識符,如果不配置則自動生成,建議配置且一定要保證集群中必須唯一,默認-1log.dir日誌數據存放的目錄,默認/tmp/kafka-logslog.dirs日誌數據存放的目錄,如果沒有配置則使用log.dir,建議此項配置。zookeeper.c

Lnux系統網卡綁定配置

ole osd 接口 當前 onf prim multi pac lin 一、CentOS 配置網卡綁定(bonding) 1、bonding概述 (1)作用:就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可

Nginx配置

set 文件結構 時也 解決方案 ces 反向代理服務器 use 力量 第三方模塊 最近在搞nginx和tomcat 以及apache的集群。下面是參考的一片很不錯的關於nginx配置的詳細講解: http://www.cnblogs.com/knowledgesea/p/

Apache配置

搜索 相對 第一個 form 執行權限 php 時有 多個 direct Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 主站點的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/softwa

緩存varnish的管理及配置

啟動 一個 hint 單位 quad spec int rom try 一 工作原理 在當前主流的Web服務架構體系中,Cache擔任著越來越重要的作用。常見的基於瀏覽器的C/S架構,Web Cache更是節約服務器資源的關鍵。而最近幾年由FreeBSD創始人之一Kamp開

日誌配置

lin XML html表格 記錄 文件中 對齊方式 oca read val #①配置根Logger,其語法為: # #log4j.rootLogger = [level],appenderName,appenderName2,... #level是日誌記錄的優先級,分為

phpmyadmin配置

php phpmyadmin配置文件中的一個,路徑為libraries/config.default.php,可以修改若幹配置,其中,only_db可以配置在web端顯示的數據庫本文出自 “12968673” 博客,請務必保留此出處http://12978673.blog.51cto.com/1296867

DNS配置 bind實現正向解析和反向解析

cell 8.4 -s intern 資源記錄 ted borde linux系統 ans DNS是域名服務(Domain Name Service),負責把域名解析成IP地址(正向解析)或者把IP地址解析為域名(反向解析)。 DNS查詢過程: 假設我們要訪問www.a

MySQL5.6 數據庫主從(Master/Slave)同步安裝與配置

inux bind 主從配置 希望 master 強調 數據庫主從 ria 配置文件 目錄(?)[+] 安裝環境 操作系統 :CentOS 6.5 數據庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.

web緩存服務器varnish-4.1.6的部署及配置

是否 次數 tool 至少 hits 檢查 rep nat list web緩存服務器varnish-4.1.6的部署及配置詳解 1.安裝varnish4.1.6安裝依賴 yum install -y autoconf automake jemalloc-devel li

web.xml配置

知識 其他 location 參數 pin systems doctype doc clu web.xml配置詳解 引文: 對於一個J2EE領域的程序員而言,基本上每天都會和web應用打交道。 什麽是web應用?最簡單的web應用什麽樣?給你一個web應用你該從何入手

mybatis一對一映射配置

技術分享 iat rom cti 加載 文件中 src 裏的 new 聽說mybatis一對一有三種寫法,今天我試了一下。 數據庫表準備 為了偷懶,我直接就拿用戶權限菜單裏的菜單表和菜單與權限的中間表做實現,他們原來是多對多的關系,這邊我假設這兩張表是一對一。 表 g