Java 检测数据库已关闭

Java 检测数据库已关闭,java,jdbc,Java,Jdbc,我想检测数据库何时关闭,我知道一旦数据库关闭,它将抛出SQLException。使用Connection.isValid()。超时参数代表什么?它说: 超时--等待数据库操作的时间(秒) 用于验证要完成的连接。如果超时时间 在操作完成之前过期,此方法返回false。A. 值0表示数据库未应用超时 手术 这意味着什么?“数据库关闭”意味着它没有响应。它不能告诉你“嘿,我倒下了”。因此,超时表示此方法在将数据库视为脱机之前等待响应的时间。isValid()方法允许您检查连接的有效性 对于此方法,您可

我想检测数据库何时关闭,我知道一旦数据库关闭,它将抛出SQLException。使用
Connection.isValid()
。超时参数代表什么?它说:

超时--等待数据库操作的时间(秒) 用于验证要完成的连接。如果超时时间 在操作完成之前过期,此方法返回false。A. 值0表示数据库未应用超时 手术

这意味着什么?

“数据库关闭”意味着它没有响应。它不能告诉你“嘿,我倒下了”。因此,超时表示此方法在将数据库视为脱机之前等待响应的时间。

isValid()方法允许您检查连接的有效性

对于此方法,您可以以秒为单位指定超时,当此超时在内部有效性检查完成之前结束时,该方法将返回false

如果您不想让程序等待很长时间,以防有效性检查花费太长时间,这将非常有用


如果将0作为超时输入,则不会应用超时,并且程序将等待检查完成。

如果任何连接空闲了那么长时间,则表示放弃连接的时间。

检测数据库是否关闭的合理时间长度是多少。这里可以输入什么值?这取决于数据库的网络距离。你可能只是联系不好,但这很少是个问题。不要将超时设置得太高(几秒钟),而是实施重试逻辑。