gpt4 book ai didi

java - BoneCP:有没有办法为所有语句配置语句超时?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:03:36 26 4
gpt4 key购买 nike

我正在使用一个使用 BoneCp 访问 mysql 数据库的 Play 应用程序(play-java 2.2.1,bonecp 0.8.0.RELEASE),并且没有找到为所有语句设置语句超时的方法(conf doc here)。我发现的只是如何以编程方式执行 ir:

java.sql.Statement.setQueryTimeout(int)

我可能最终会用一个对象来包装所有创建的语句,该对象将设置该值,但我认为我可以在配置文件中设置它。

我知道我可以使用 spring 或其他一些框架并设置某种“事务超时”值,但我想避免这种情况。

谢谢!

最佳答案

你可以 fork BoneCP并调整 StatementHandle类在构造函数中的 internalStatement 上设置默认语句超时(可能会滥用 QueryExecuteTimeLimit 配置选项,它已经在 this.queryExecuteTimeLimit 的构造函数中使用) .

您还可以使用 JPA/Hibernate with Play它允许您设置 default query timeout .是的,这意味着使用框架,但默认语句超时通常不是数据库连接池的一部分。

请注意,查询/语句超时与事务超时不同。 “事务超时用于将总语句处理时间限制为允许的最大数量”,语句超时是“对语句应该运行多长时间的限制”(从 this article 章节“什么是事务超时?”和“什么是语句超时?”)。

关于java - BoneCP:有没有办法为所有语句配置语句超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220201/

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