【问题标题】:Setting timeout for JDBC for Driver.connect()为 Driver.connect() 设置 JDBC 超时
【发布时间】:2013-11-27 16:21:06
【问题描述】:

有没有办法在 JDBC 中为它尝试创建连接的持续时间设置超时值?(即 Driver.connect() 的超时)

【问题讨论】:

  • 您不应该直接使用Driver.connect(),而是通过DriverManager(或DataSource)连接。
  • 使用驱动实现直接将你绑定到特定的驱动实现,而不仅仅是java.sql包中的API;这使得更容易交换驱动程序。 DriverManager 是连接数据库的标准 API。它甚至会从类路径加载所有可用的驱动程序(假设符合 JDBC 4 的驱动程序)。
  • 我相信你,但这对我来说有点太复杂了。
  • 代码的唯一区别在于yourDriver.connect(url, properties)DriverManager.getConnection(url, properties)(或其他重载之一)...
  • 我明白了,但也许我们使用 Driver 的原因是我们有自己的 getConnection 方法。我不完全有能力了解我们项目的全部代码。不过谢谢你的建议。

标签: jdbc connection timeout


【解决方案1】:

您可以使用DriverManager.setLoginTimeout(..)。请注意,并非所有驱动程序都支持这一点。一些驱动程序(也)提供了一个连接属性来设置连接超时。

请注意,某些 JDBC 驱动程序也有连接超时,这与连接/登录超时不同。连接超时 - 通常是 - 套接字的阻塞超时。

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 2011-07-20
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2010-10-10
    相关资源
    最近更新 更多