我们通过Spring Boot配置了一个带有Hikari Connection Pool的Web应用程序。 现在的问题是,当我们将它作为战争部署在单独的Tomcat服务器中时,它会选择安装在Tomcat中的其他常见dbcp。
一种方法..删除已安装的Tomcat中的那些库。
有人可以建议其他选择吗?
答案 0 :(得分:1)
Spring Boot将检测可用的DataSource
提供程序的类型,并根据这些类型为其创建特定类型。如果您要发货HikariCP,则在使用独立应用程序时会检测到这一点。
但是,在部署到Tomcat时,此服务器包含Commons DBCP(或其中的tomcat版本)或Tomcat JDBC。然后,由于Spring Boot has preferences。
的顺序,这将优先在Tomcat优先于Hikari的情况下。
通过告诉Spring Boot使用DataSource
类型,解决方案非常简单。为此,请在spring.datasource.type
中指定application.properties
属性。
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
通过这样做,Spring Boot不会尝试检测要使用的类型。这样,您还可以使用非自动检测的数据源类型,如C3P0或自定义数据源类型。