在SpringBoot 1.5.3上使用gradle引入hikariCP


在SpringBoot 1.5.3上使用gradle引入hikariCP

hikari來源於日語,是“光”的意思,號稱“史上最快數據庫連接池”,也是springboot2.0最新版默認的連接池。但是springboot1.5.x的項目也是可以使用的。

springboot1.5.x默認的數據庫連接池是tomcat-jdbc連接池,要遷移到hikari連接池只需要幾步配置上的修改:

build.gradle文件

1、先將默認的tomcat connnection pool從依賴中移除

 compile("org.springframework.boot:spring-boot-starter-data-jpa:1.5.3.RELEASE"){
              exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
    }

2、引入依賴

compile group: 'com.zaxxer', name: 'HikariCP', version: '3.4.1'

 

3、application.properties文件中配置連接池屬性

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.pool-name=SomeThingHikariCP
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=600000
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=6000
//spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL   //配置了這個query則每次拿連接的時候用這個query測試,否則就使用java.sql.ConnectionisValid測試  推薦jdbc4不配

原來的spring.datasource.tomcat.xxxx就需要注釋掉了。

重啟工程,控制台中會見到如下日志

...

com.zaxxer.hikari.HikariDataSource [110] - AppUserHikariCP - Starting...
com.zaxxer.hikari.pool.PoolBase [527] - AppUserHikariCP - Driver does not support get/set network timeout for connections. (com.mysql.jdbc.JDBC4Connection.getNetworkTimeout()I)
com.zaxxer.hikari.HikariDataSource [123] - AppUserHikariCP - Start completed.

...

說明數據庫連接池遷移成功。

出現上面紅字需要升級一下mysql驅動,筆者是把mysql-connector-java從5.1.18升級到5.1.47解決了這個問題。但是似乎有這個提示也可以正常使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM