之前我的两篇关于Druid连接池的文章讨论了一些关于连接保活和超时设置的问题,后来我又重新梳理了一Druid关于空闲连接检测以及KeepAlive
执行的过程,本文其实已经写了很久了,当时是基于1.2.4
版本,一直忘了发布上来。目前最新版是1.2.8
版本,建议升级到最新版本,因为1.2.4
版本存在一些连接检测异常被错误丢弃和KeepAlive
的一些Bug,不过本文探讨的大致流程没有变化,因此还是基于1.2.4
版本说明,但是请关注新版本的Releases Note。
SimpleDateFormat转换两位年'yy'少了100年?和defaultCenturyStartYear的值有关
最近遇到了一个哭笑不得的事情,生产上面一个日期207x年变成了197x年,少了100年,排查下来原因也是让人大跌眼镜,某位同学使用了SimpleDateForma
类将一个两位数年的日期格式’yy/MM/dd’转换为Date类型,然后再转成’yyyy-MM-dd’字符串,而就是这个转换过程中丢掉了100年。
TreeSet使用中的两个Exception
最近的一个业务场景中需要在内存中换成一些数据,并且需要根据时间戳有序排列,因此使用了TreeSet,但是在使用过程中确出现了IllegalArgumentException和ConcurrentModificationException,因此记录一下这两个问题.
解决PlayStation商店网页版无法连接到服务器18.xxx错误、PS App无法登录
临近PS5发售,索尼对PlayStation Store网页版和PS App都进行了大的更新,包含UI和功能,然而我已经大半年几乎无法正常登录网页版ps商店了,无论是win10的Chrome还是安卓的Chrome,每次登录都是提示无法连接到服务器,然后一串长长的(18.xxxx.xxxx.xxx)错误码,安卓版App由于登录也是调起网页进行登录,因此遇到同样的问题,然而我Mac的Chrome却一切正常,甚至win10和安卓的其他浏览器也是ok的,只有Chrome和PS的那几个App使用WebView让人崩溃。。。
一次druid连接池获取连接错误的排查分析
问题描述
之前的上一篇文章 keepAlive解决druid空闲连接socket timeout 15分钟解决了防火墙导致的空闲连接socket timeout的问题,而这一次在另外一个没有防火墙策略的内部环境却又出现了另外一个情况,进程偶发数据库操作报错,并且个别进程一段时间后始终无法获取数据库连接一直处于宕机状态。