在 JDBC 中,connectTimeout
和 socketTimeout
是两个重要的连接参数,它们分别控制不同级别的超时设置。以下是这两个参数的详细解释和它们之间的区别:
1. connectTimeout
- 定义:
connectTimeout
是指在建立数据库连接时的超时时间。如果客户端在指定的时间内未能成功与数据库服务器建立连接,就会抛出超时异常。 - 单位:通常以毫秒为单位。
- 作用:
- 用于控制连接的建立速度,防止长时间等待,以便快速反馈连接失败。
- 举例:如果设置
connectTimeout=3000
,表示在 3 秒内必须成功连接,否则将抛出异常。
2. socketTimeout
- 定义:
socketTimeout
是指在已有连接的情况下,读操作的超时时间。它定义了客户端在读取数据时的等待时间。如果在指定时间内没有数据接收,