【Druid】数据库连接超时

文章讲述了在SpringBoot项目中,遇到接口请求超时的问题,经排查发现是由于SQL查询耗时过长导致的数据库连接断开。作者分享了解决方案,即配置Druid的connectTimeout和socketTimeout,并给出了相应的代码示例和配置文件的注意事项。

现象:
接口请求,10秒钟超时,看了一下,是sql查询耗时太长了,数据还没来得及返回,连接就断开了。
连接断开,上层应用直接报错。。

这些问题,都是。。。知道答案后,就觉得,emmm,好简单。知道答案前,…tmd, 这啥玩意儿。。。。

直接说答案吧:
数据库连接超时,那就配置超时时长,准确地说是 druid 的超时时长。。。
要设置 druid 的 connectTimeout 、socketTimeout 这两个配置项,
嗯。单这样说,有点。。。

一份druid 配置

druid:
  url: jdbc:mysql://10.12.1.9:3306/student?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
  username: username
  password: passwordxxxx
  useSSL: false
  initial-size: 50
  min-idle: 50
  max-active: 200
  connectTimeout: 600000  #1.2.12版本需要单独配置才生效
  socketTimeout: 600000   #1.2.12版本需要单独配置才生效

有了配置,不够,需要在代码里面解析配置
于是要写一个:
DruidProperties.java

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
* druid
*/
@ConfigurationProperties(prefix = "druid")
public class DruidProperties {
   private String url;
   private String username;
   private S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ok060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值