JDBC URL上的socketTimeout和java.sql.Connection上的networkTimeout之间有什么区别
答案 0 :(得分:1)
{7}引入了Connection.networkTimeout
,旨在让驱动程序负责正确的清理(使用提供的执行程序)。我不确定驱动程序实现是否支持这种方法。
另一方面,socketTimeout
是特定于驱动程序的(尽管大多数驱动程序具有类似的设置),并且 - 通常 - 用于使用Socket.setSoTimeout(int)
配置低级套接字超时。
主要区别在于setNetworkTimeout
指定发生此超时后驱动程序所期望的行为(使连接无效并关闭),而socketTimeout
配置可能只是让您的连接处于不稳定状态(即它看似开放,但不可用)。 setNetworkTimeout
还允许在连接已打开时更改超时。