分享

【东方通】中间件-数据源泄漏问题

【适用版本】
TongWeb6.0.5.0后续版本及TongWeb7以后版本。
【问题现象】
在应用使用TongWeb的数据源且配置连接数充足的情况下,长时间运行后出现数据源连接数占满现象,应用无法获取连接。报错信息,如下所示。
9c69f1a51a49604261d5de73e688f7e8.jpg
【解决方案】
由于SQL执行时间较长,应用长时间占用数据库连接不释放,获取数据库连接后,结束时未关闭连接导致该问题,解决步骤如下:
1.打开数据源配置里的SQL监控,检查一次连接执行的SQL总时间是否过长。
2.打开数据源配置的“泄露超时时间”和“连接泄露时打印日志”。
c4ebcb2aa60b06ee5002f46167a9a8e5.jpg
当达到设置时间后,TongWeb日志中会输出应用所占用的连接而没有释放,如下所示。
51a8c2231aea07e8329a8b3de3db36e8.jpg
3.通过以上两点可以分析应用占用连接情况,若不从应用角度修改,可通过以下两种方式设置释放数据库连接:
(1)打开数据源的“泄漏回收”功能,当达到泄露超时时间后强制关闭连接。
(2)启动脚本增加-Dtongweb.resource.leakCheck=true,当请求处理完成后关闭连接,仅限于管理TongWeb线程。应用自有线程无法管理。
通过上述操作即可成功解决数据源泄漏的问题。
后续若有信创产品及服务相关问题,欢迎您继续使用本平台进行反馈,谢谢!

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服