gpt4 book ai didi

java - 在设定的超时期限后关闭 JDBC 连接?

转载 作者:行者123 更新时间:2023-11-30 09:32:58 24 4
gpt4 key购买 nike

有没有办法在设定的超时期限后关闭 JDBC 连接?这些连接是在 GenericObjectPool 中创建的。我知道池可以关闭池中的空闲连接,但是那些被认为是 Activity 的连接呢?我试图在有人不调用 close() 的情况下控制连接泄漏。从我读到的唯一方法可能是在服务器上设置超时时间,但我希望在 Java 中找到一种方法。谢谢!

最佳答案

我同意 Peter Lawrey 的观点,我会确保始终关闭连接。但是,如果我仍然必须确保连接已关闭(如果有人从池中取出并忘记归还),我将按如下方式进行:

  1. 装饰池返回的 java.sql.Connection。
  2. 在构造函数中创建一个计时器并将其设置为配置的持续时间,以容忍 Activity 连接。
  3. 如果用户在计时器触发之前对其调用关闭,我将取消计时器并将连接返回到池中。
  4. 如果计时器在用户关闭连接之前触发,我会将连接返回到池中并使装饰连接无效,以便进一步的调用将抛出 IllegalStateException

关于java - 在设定的超时期限后关闭 JDBC 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12408096/

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