Spring Boot选择数据库链接池实现的判断逻辑:
- 检查Tomcat的数据库链接池实现是否可用,如可用,则启用。使用
spring.datasource.tomcat.*
可以控制链接池的行为。 - 检查HikariCP是否可用,如可用,则启用。使用
spring.datasource.hikari.*
可以控制链接池的行为。 - 检查Commons DBCP是否可用,如可用,则启用;但Spring Boot不建议在生产环境使用该链接池的实现。
- 检查Commons DBCP2是否可用,如可用,则启用。使用
spring.datasource.dbcp2.*
可以控制链接池的行为。
使用tomcat-jdbc
时,可在application.yml
增加配置项spring.datasource.tomcat.*
来控制链接池的行为。比如如下配置。上述spring.datasource.tomcat.*
代表的配置项,可参考tomcat-jdbc
的官方文档Apache Tomcat 8.5 – The Tomcat JDBC Connection Pool或者Apache Tomcat 8.0 – The Tomcat JDBC Connection Pool。依据tomcat-jdbc
的文档,如需要向数据库的JDBC驱动传入控制参数,可以使用db-properties
字段。需要注意的是,当使用MySQL驱动时,控制参数的值需要强制转换为字符串,否则创建数据库链接时会 错。配置方法如上述样例中的 reportMetricsIntervalMillis: '60000'
和logSlowQueries: 'true'
。依照MySQL JDBC驱动文档,可以配置一个日志记录器,用于记录其工作时的输出,如下是实现样例。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!