Spring Boot 2.0 數(shù)據(jù)庫連接池

之前在做項目的時候用到了Spring Boot 2.0,這里簡單介紹一下Spring Boot 2.0 連接池的使用和遇到的一些坑垫言。

Spring Boot 默認(rèn)使用的連接池是 HikariCP 泳桦,當(dāng)在在依賴中引入了

spring-boot-starter-jdbc 或者 spring-boot-starter-data-jpa 十偶,且application.properties中沒有配置spring.datasource.type 為其他的DataSource時。Spring Boot 會默認(rèn)使用HiKariCP罩引,如果需要使用其他的連接池茸苇,例如tomcat 連接池排苍,則需要引入 tomcat-jdbc 依賴:

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
    <version>8.5.23</version>
</dependency>

并且在application.properties中配置spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

作者使用的yml:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: xxx
    password: xxxx
    url: jdbc:mysql://localhost:3306/friends?useUnicode=true&character_set_server=utf8mb4&characterEncoding=utf8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8

    type: org.apache.tomcat.jdbc.pool.DataSource

之前在做項目的時候,使用Spring Boot數(shù)據(jù)庫連接池遇到過一些問題学密,在這里總結(jié)一下淘衙。

因為做項目用的是MySQL,MySQL有個默認(rèn)機制是八個小時空閑連接會自動回收腻暮,這個回收是在MySQL的Server端彤守,而Spring Boot 的連接池不知道這個連接已經(jīng)不可用了,繼續(xù)用這個連接查詢的話就會報錯西壮,所以需要在配置數(shù)據(jù)庫連接池的時候增加一些檢測配置遗增,把一些不可用的連接釋放掉叫惊。

用HiKariCP需要以下配置(當(dāng)使用的jdbc不是jdbc4的時候):

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: xxx
    password: xxxx
    url: jdbc:mysql://localhost:3306/friends?useUnicode=true&character_set_server=utf8mb4&characterEncoding=utf8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
    hikari:
      maximum-pool-size: 10 連接池最大連接數(shù)
      minimum-idle: 0 允許的最小空閑屬
      idle-timeout: 180000 #空閑超時是 180000 毫秒款青,當(dāng)數(shù)據(jù)庫連接的空閑時間大于180000毫秒時,這些空閑超時的連接會被關(guān)閉霍狰,直到超時的空閑連接數(shù)達到 minimum-idle的值
      connection-test-query: select 1 # 測試連接是否可用的query 語句 在oracle是 select 1 from dual

如果是tomcat 可能還要加上一個檢測空閑的間隔時間抡草。

一下介紹一些常用的HiKariCP的配置參數(shù),讀者也可以自己瀏覽HiKariCP的GitHub

dataSourceClassName 這是JDBC驅(qū)動程序提供的DataSource類的名稱蔗坯。 請參閱特定JDBC驅(qū)動程序的文檔以獲取此類名.注意不支持XA數(shù)據(jù)源康震。 XA需要像bitronix這樣的真正的事務(wù)管理器。 請注意宾濒,如果您使用jdbcUrl進行“old-school”基于DriverManager的JDBC驅(qū)動程序配置腿短,則不需要此屬性
jdbcUrl 數(shù)據(jù)庫連接url
username 用戶名
password 密碼
autoCommit 自動提交,默認(rèn)是true
connectionTimeout 連接超時時間設(shè)置绘梦,默認(rèn)是30s
idleTimeout 最大空閑時間橘忱,超過最大空閑時間的連接在達到最小空閑連接數(shù) minimumIdle 就不會被回收。默認(rèn)十分鐘
minimumIdle 允許的最小空閑數(shù)卸奉。當(dāng)minimumIdl大于等于 maximumPoolSize 時钝诚,空閑超時的連接不會被回收。默認(rèn)是等于 maximumPoolSize
maximumPoolSize 最大連接數(shù)榄棵,默認(rèn)10
connectionTestQuery 測試連接是否可用的query語句
maxLifetime 最長生命周期凝颇,使用中的連接永遠不會退役潘拱,只有當(dāng)它關(guān)閉時才會被刪除。默認(rèn)30分鐘

如有需要后續(xù)再補充一些tomcat 連接池的拧略。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芦岂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辑鲤,更是在濱河造成了極大的恐慌盔腔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件月褥,死亡現(xiàn)場離奇詭異弛随,居然都是意外死亡,警方通過查閱死者的電腦和手機宁赤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門舀透,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人决左,你說我怎么就攤上這事愕够。” “怎么了佛猛?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵惑芭,是天一觀的道長。 經(jīng)常有香客問我继找,道長遂跟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任婴渡,我火速辦了婚禮幻锁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘边臼。我一直安慰自己哄尔,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布柠并。 她就那樣靜靜地躺著岭接,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臼予。 梳的紋絲不亂的頭發(fā)上鸣戴,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音瘟栖,去河邊找鬼葵擎。 笑死,一個胖子當(dāng)著我的面吹牛半哟,可吹牛的內(nèi)容都是我干的酬滤。 我是一名探鬼主播签餐,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盯串!你這毒婦竟也來了氯檐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤体捏,失蹤者是張志新(化名)和其女友劉穎冠摄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體几缭,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡河泳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了年栓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拆挥。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖某抓,靈堂內(nèi)的尸體忽然破棺而出纸兔,到底是詐尸還是另有隱情,我是刑警寧澤否副,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布汉矿,位于F島的核電站,受9級特大地震影響备禀,放射性物質(zhì)發(fā)生泄漏洲拇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一痹届、第九天 我趴在偏房一處隱蔽的房頂上張望呻待。 院中可真熱鬧打月,春花似錦队腐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秘通,卻和暖如春为严,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肺稀。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工第股, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人话原。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓夕吻,卻偏偏與公主長得像诲锹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子涉馅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容