spring.jpa.properties.javax.persistence.query.timeout не работает для PostgreSQL - PullRequest
0 голосов
/ 23 января 2020

Я хотел бы иметь возможность ограничить все запросы Spring jpa определенным сроком. Если запрос занимает больше времени, чем указанный предел, он должен быть отменен. Из того, что я увидел, этого можно достичь с помощью javax.persistence.query.timeout, и поскольку я нахожусь в контексте Spring:

spring: 
  jpa:
    properties:
      javax.persistence.query.timeout: 10000

Это должно ограничить все запросы, выполняемые из репозиториев Spring, до 30 секунд, но это не работает. Этот метод хранилища занимает 20 секунд:

@Query(value = "select count(*) from pg_sleep(20)", nativeQuery = true)
int slowQuery();

Я пробовал с Postgresql 9.6.11 и с Postgresql 10.5.

Есть ли проблемы с этими Postgres версиями? Есть ли другой способ добиться тайм-аута выполнения запроса?

...