2017-02-06 9 views
2

Мне нужно создать соединение для восстановления в Spring boot. Многие примеры показывают, как это:что это? dbcp/dbcp2/tomcat validation-query

spring.datasource.validationQuery=SELECT 1 

но Intellij IDE не видит тыс и шоу:

spring.datasource.dbcp.validation-query=select 1 

и

spring.datasource.dbcp2.validation-query=select 1 

и

spring.datasource.tomcat.validation-query=select 1 

, что это правильно?

+2

Что является правильным, зависит от версий Spring Boot <1.3 первого,> 1.3 последнего. –

ответ

3

До весны 1.4, все поставщики пула подключений (Tomcat, Apache ГСБД, Apache ДБХП v2, Hikari, ...) используются одни и те же свойства, например:

spring.datasource.validationQuery=select 1 

В зависимости от поставщика пула соединений, вы можете использовать разные свойства. Не только это, но некоторые из этих свойств не использовались для настройки свойств, зависящих от поставщика, но также использовались также при загрузке Spring. Так что они были довольно ambiguous.

Начиная с 1.4 свойства пружинной загрузки находятся в пределах spring.datasource.*, а свойства пула соединений находятся в пределах spring.datasource.tomcat.* или spring.datasource.dbcp.* или ....


Чтобы ответить на ваш вопрос, если вы используете Spring загрузку 1.3 или меньше правильный ответ:

spring.datasource.validationQuery=select 1 

Если вы используете Spring загрузку версии 1.4 или более новую версию с по умолчанию TOMCAT-JDBC пул соединений, правильный ответ:

spring.datasource.tomcat.validationQuery=select 1 

других вариантов, предоставленные вами действительны только, если вы используете Spring загрузку 1.4 или новее и не переопределяете поставщик по умолчанию пула соединения.


Кроме этого вы можете выбрать, хотите ли вы использовать верблюжий (validationQuery) или кебаб-дело (validation-query), оба работают отлично на любую версии Spring ботинка.

+0

Большое вам спасибо – user5620472