使用Hikari CP进行Spring Boot ---在单独的Tomcat服务器中部署时无法正常工作

时间:2017-04-26 04:29:33

标签: spring-boot

我们通过Spring Boot配置了一个带有Hikari Connection Pool的Web应用程序。 现在的问题是,当我们将它作为战争部署在单独的Tomcat服务器中时,它会选择安装在Tomcat中的其他常见dbcp。

一种方法..删除已安装的Tomcat中的那些库。

有人可以建议其他选择吗?

1 个答案:

答案 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或自定义数据源类型。