您将如何以可靠且有效的方式使用 JDBC 检测丢失的连接?目前我正在使用 Vertica JDBC 驱动程序。我认为我不能使用连接池,因为我需要始终控制连接到哪个节点。到目前为止我想到的事情:
- 假设 SQLException 是一个丢失的连接。似乎不可靠。
- 检查 ex.getCause 并查找套接字异常。不确定检查原因是否是一个好习惯。
- 检查我知道的错误代码是连接丢失的情况。也显得有些不靠谱。
编辑:我试过 isValid 和 isClosed。isValid 抛出一个异常并且 isClosed 总是返回 false 无论如何。