gpt4 book ai didi

spring.jpa.properties.javax.persistence.query.timeout 不适用于 PostgreSQL

转载 作者:行者123 更新时间:2023-12-05 03:55:48 25 4
gpt4 key购买 nike

我希望有一个选项可以将所有 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 版本有问题吗?有没有其他方法可以实现查询执行超时?

最佳答案

下面的代码应该是一个不错的选择。

YAML 文件:

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

关于spring.jpa.properties.javax.persistence.query.timeout 不适用于 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com