作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望有一个选项可以将所有 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/
我是一名优秀的程序员,十分优秀!