JDBC:socketTimeout和networkTimeout之间的区别

时间:2016-10-13 13:17:45

标签: java mysql jdbc

JDBC URL上的socketTimeout和java.sql.Connection上的networkTimeout之间有什么区别

1 个答案:

答案 0 :(得分:1)

{7}引入了Connection.networkTimeout,旨在让驱动程序负责正确的清理(使用提供的执行程序)。我不确定驱动程序实现是否支持这种方法。

另一方面,socketTimeout是特定于驱动程序的(尽管大多数驱动程序具有类似的设置),并且 - 通常 - 用于使用Socket.setSoTimeout(int)配置低级套接字超时。

主要区别在于setNetworkTimeout指定发生此超时后驱动程序所期望的行为(使连接无效并关闭),而socketTimeout配置可能只是让您的连接处于不稳定状态(即它看似开放,但不可用)。 setNetworkTimeout还允许在连接已打开时更改超时。