关于SpringCloud和Feign的一些坑(持续更新)

关于SpringCloud和Feign的一些坑

最近在学习springCloud,其中在涉及Feign远程调用服务的过程中遇到了一个bug,过程如下:

  • 一开始的报错为超时报错:

    FeignClient java.net.SocketTimeoutException: Read timed out executing POST http://******

超时错误,百度了一下,设置一下ribbon:

ribbon:
  ReadTimeout: 120000
  ConnectTimeout: 30000
  • 再次进行尝试,发现报错依旧,怀疑是原本服务端(生产者)出问题,遂回去检查进行一次单元测试,发现没有问题,但同时发现该警告:

    com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.

于是发现可能是远端调用服务方的时候 数据库出现问题,查询时间过长导致超时,进行测试后发现是驱动问题:

即spring.datasource.driver-class-name 应该使用com.mysql.jdbc.Driver而非带cj的版本.更换之后bug解决,具体原因为止 待谷歌查一下.

超时的原因估摸着和HikariCP关系大一点,应该把Hikari的maxlifetime(注意计算随机误差)设置成比数据库连接超时更短的时间

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值