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