Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么是对的?dbcp/dbcp2/tomcat验证查询_Java_Spring Boot_Connection_Datasource - Fatal编程技术网

Java 什么是对的?dbcp/dbcp2/tomcat验证查询

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 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等)都使用相同的属性,例如:

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