分享两个你可能不知道的Java小秘密

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:21   2301   0

  引言

  最近LZ的工作发生了重大变化,以后博文的更新速度可能会再度回温,希望猿友们可以继续关注。

  近期LZ辞掉了项目经理的工作,不过并未离开公司,是转到了基础研发部做更基础的研发,为广大技术人员服务。这会让LZ有更多的时间去研究一些技术方面的东西,LZ打算折腾一下spring的源码,期待有一天可以成为spring代码的贡献者。

  好了,废话说到这里吧,今天先分享两个小问题的解决办法,可能你以后也会遇到的。

  DBCP数据源坑爹的地方

  前几天系统出现了一个错误,比较奇葩。中文解释是“无法从套接字读取更多的数据”,原因是connection reset。首先很明显的是,这是数据库的连接出了问题,因为这个错误是在sql执行时报的错。

  从tcp原理上分析,这个错误的原因是因为连接被无缘无故的关闭了,导致连接被重置。于是简单分析过后,怀疑是因为连接长时间没有使用已经失效,但是连接池依然把连接给了应用程序去使用,结果导致使用了已经失效的连接。

  于是LZ简单搜索了一下,发现很多人都说有一个属性可以控制在把连接交给数据源之前,先进行一下可用性的检测。于是LZ打开源码,看了一下这个属性的初始值,结果一看,发现是true。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP