Учитывает ли Liquibase в Spring Boot тайм-аут запроса на сохранение?

В нашем проекте Spring Boot 3 мы хотим использовать следующее свойство, чтобы ограничить время выполнения SQL-запроса до 2 минут:

spring.jpa.properties.jakarta.persistence.query.timeout=120000

Мы также используем Liquibase для миграции данных во время запуска сервиса. Поскольку мы не хотим, чтобы этот тайм-аут использовался для сценариев запуска Liquibase: учитывает ли Liquibase это свойство или игнорирует его?

1
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сама Liquibase не учитывает свойства Spring. Более того, это свойство JPA, настраивающее соединение между Spring и базой данных. Ликвибазы нет в уравнении.

Чтобы настроить таймаут запроса, вы должны выполнить настройку соединения Liquibase: Вы можете определить конфигурацию в соединении JDBC, например, в liquibase.properties:

url=jdbc:postgresql://localhost:5432/db?socketTimeout=120

Обратите внимание, что конфигурация зависит от конкретной БД. Я предполагаю, что Oracle или MySQL будут использовать другую конфигурацию таймаутов. Выше приведена конфигурация для PostgreSQL.

Наконец, вы можете проверить это, используя длительный запрос, например. используя pg_sleep в PostgreSQL (подробнее читайте в этом ответе).

Другие вопросы по теме