springboot配置数据库连接池详细说明

Springboot默认数据库连接池为 Tomcat JDBC Pool ,常用的属性见下:

spring.datasource.url=jdbc:oracle:thin:@...:11521/pcdb
spring.datasource.username=osgpc
spring.datasource.password=***
spring.datasource.secretcode=
***
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

#池同时能分配的活跃连接的最大数目。默认为 100。
spring.datasource.tomcat.maxActive=5

#空闲连接数。默认为 maxActive:100。会周期性检查空闲连接(如果启用该功能),留滞时间超过 minEvictableIdleTimeMillis 的空闲连接将会被释放。
spring.datasource.tomcat.maxIdle=5

#连接器启动时创建的初始连接数。默认为 10。
spring.datasource.tomcat.initialSize=1

#在抛出异常之前,连接池等待(没有可用连接时)返回连接的最长时间,以毫秒计。默认为 30000(30 秒)
spring.datasource.tomcat.maxWait=60000

#池始终都应保留的连接的最小数目。如果验证查询失败,则连接池会缩减该值。默认值取自 initialSize:10
spring.datasource.tomcat.minIdle=1

#空闲连接验证/清除线程运行之间的休眠时间(以毫秒计)。不能低于 1 秒。该值决定了我们检查空闲连接、废弃连接的频率,以及验证空闲连接的频率。默认为 5000(5 秒)
spring.datasource.tomcat.timeBetweenEvictionRunsMillis=5000

#Tomcat JDBC 连接池没有用到这个属性。
spring.datasource.tomcat.minEvictableIdleTimeMillis=120000

#是否通过空闲对象清除者(如果存在的话)验证对象。如果对象验证失败,则将其从池中清除。
spring.datasource.tomcat.testWhileIdle=true

#将池中连接返回给调用者之前,用于验证这些连接的 SQL 查询。如果指定该值,则该查询不必返回任何数据,只是不抛出 SQLException 异常。默认为 null。
spring.datasource.tomcat.validationQuery=select 1 from dual

#连接验证失败前的超时时间(以秒计)。通过在执行 validationQuery 的语句上调用 java.sql.Statement.setQueryTimeout(seconds) 来实现。
spring.datasource.tomcat.validationQueryTimeout=3000

#默认值为 false。从池中借出对象之前,是否对其进行验证。如果对象验证失败,将其从池中清除,再接着去借下一个。
spring.datasource.tomcat.testOnBorrow=false

#默认值为 false。将对象返回池之前,是否对齐进行验证。
spring.datasource.tomcat.testOnReturn=false

#为避免过度验证而设定的频率时间值(以秒计)。最多以这种频率运行验证。如果连接应该进行验证,但却没能在此间隔时间内得到验证,则会重新对其进行验证。
spring.datasource.tomcat.validationInterval=3000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章