您配置了以下属性:
spring.datasource.dbcp2.max-total=1
这表明您正在尝试使用DBCP 2连接池。但是,当您检查stacktrace时,可以看到以下内容:
o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
由于ConnectionPool
该类的软件包是org.apache.tomcat
,这表明您实际上正在使用默认的Tomcat连接池。这意味着您的max- total
财产没有得到适当的接受。
如果要为Tomcat连接池配置此maxActive
属性,则需要使用以下属性:
spring.datasource.tomcat.max-active=1
另外,如果您不想使用Tomcat连接池,则可以使用Maven / Gradle / …添加DBCP 2依赖项。如果排除默认的Tomcat连接池,它将自动选择DBCP 2。
另一种可能性是通过使用文档中spring.datasource.type
提到的属性来配置它:
您可以完全绕过该算法,并通过spring.datasource.type
属性指定要使用的连接池。如果您在Tomcat容器中运行应用程序,则这一点尤其重要,因为默认情况下提供了tomcat- jdbc。
例如:
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource