Java 什么是对的?dbcp/dbcp2/tomcat验证查询
我需要在Spring boot中创建连接重新连接。很多例子都是这样的:Java 什么是对的?dbcp/dbcp2/tomcat验证查询,java,spring-boot,connection,datasource,Java,Spring Boot,Connection,Datasource,我需要在Spring boot中创建连接重新连接。很多例子都是这样的: spring.datasource.validationQuery=SELECT 1 但Intellij IDE没有看到这些内容,并显示: spring.datasource.dbcp.validation-query=select 1 及 及 什么是正确的?在Spring 1.4之前,所有连接池提供程序(Tomcat、Apache DBCP、Apache DBCP v2、Hikari等)都使用相同的属性,例如: spr
spring.datasource.validationQuery=SELECT 1
但Intellij IDE没有看到这些内容,并显示:
spring.datasource.dbcp.validation-query=select 1
及
及
什么是正确的?在Spring 1.4之前,所有连接池提供程序(Tomcat、Apache DBCP、Apache DBCP v2、Hikari等)都使用相同的属性,例如:
spring.datasource.validationQuery=select 1
根据连接池供应商的不同,您可以使用不同的属性。不仅如此,这些属性中的一些并没有用于配置特定于供应商的属性,而是被Spring boot使用。因此,他们非常高兴
由于1.4,Spring启动属性位于Spring.datasource.*
中,而连接池属性位于Spring.datasource.tomcat.*
或Spring.datasource.dbcp.
或
要回答您的问题,如果您使用的是Spring boot 1.3或更低版本,正确答案是:
spring.datasource.validationQuery=select 1
spring.datasource.tomcat.validationQuery=select 1
如果您正在使用Spring boot 1.4或更高版本和默认的tomcat jdbc连接池,正确答案是:
spring.datasource.validationQuery=select 1
spring.datasource.tomcat.validationQuery=select 1
您提供的其他选项仅在使用Spring boot 1.4或更高版本并且覆盖了默认连接池提供程序时有效
除此之外,您可以选择是否要使用camelcase(
validationQuery
)或kebab case(validation query
),这两种方法在任何版本的Spring boot上都可以正常工作。哪种方法是正确的,取决于Spring boot版本<1.3第一个,>1.3最后一个。或Spring.datasource.hikari.connection test query=SELECT 1