JDBC超时、时区参数ConnectTimeout

下面是不同驱动的socket timeout配置方式。

  • connectTimeoutsocketTimeout的默认值为0时,timeout不生效。
  • 除了调用DBCP的API以外,还可以通过properties属性进行配置。
JDBC Driver

connectTimeout配置项

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)-

connectTimeout:表示的是数据库驱动(mysql-connector-java) 与 mysql服务器建立TCP连接的超时时间。属于TCP层面的超时。

socketTimeout:是通过TCP连接发送数据(要执行的sql)后,等待响应的超时时间。属于TCP层面的超时。

时区

1.设置为中国时区:
jdbc:mysql://localhost:3306/studysystem?serverTimezone=Asia/Shanghai
2.设置为世界标准时区,比北京时间慢八小时
jdbc:mysql://localhost:3306/studysystem?serverTimezone=UTC
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值