转载一篇讲解JDBC超时相关的文章

本文详细介绍了多种数据库驱动的连接超时与socket超时设置方法,包括MySQL、MS-SQL、Oracle及CUBRID等数据库的具体配置示例。

通过在数据所在的服务器上执行ipconfig /release,如果此时客户端刚好在执行查询操作,并且操作系统没有设置socket超时,则应用会卡死。发现这篇文章讲解的挺不错:深入理解JDBC的超时设置

关键点:

1、如下图,描述了一种依赖关系

 

2、三种数据库的驱动配置

DBC DriverconnectTimeout配置项socketTimeout配置项url格式示例
MySQL DriverconnectTimeout(默认值:0,单位:ms)socketTimeout(默认值:0,单位:ms)jdbc:mysql://[host:port],[host:port]…/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]…jdbc:mysql://xxx.xx.xxx.xxx:3306/database?connectTimeout=60000&socketTimeout=60000
MS-SQL DriverjTDS DriverloginTimeout(默认值:0,单位:s)socketTimeout(默认值:0,单位:s)jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]jdbc:jtds:sqlserver://server:port/database;loginTimeout=60;socketTimeout=60
Oracle Thin Driveroracle.net.CONNECT_TIMEOUT (默认值:0,单位:ms)oracle.jdbc.ReadTimeout(默认值:0,单位:ms)不支持通过url配置,只能通过OracleDatasource.setConnectionProperties() API设置,使用DBCP时可以调用BasicDatasource.setConnectionProperties()或BasicDatasource.addConnectionProperties()进行设置 
CUBRID Thin Driver无独立配置项(默认值:5,000,单位:ms)无独立配置项(默认值:5,000,单位:ms)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值