博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线上环境数据库连接超时原因
阅读量:5756 次
发布时间:2019-06-18

本文共 1079 字,大约阅读时间需要 3 分钟。

hot3.png

查看线上日志发现了如下的异常:

ERROR 500.jsp -

Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 31,680,464 milliseconds ago.  The last packet sent successfully to the server was 31,680,469 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

线上服务器wait_timeout的值为:

select @@wait_timeout;

+----------------+

| @@wait_timeout |

+----------------+

|           7200 |

+----------------+

即两个小时内没有连接的话,服务器会断掉连接。等这时有请求过来的话,请求池会分配一中断的连接,于是报了如上的异常。

经搜索可以在连接池中添加一些额外的配置来避免此问题,如DBCP:

<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->

 <property name="timeBetweenEvictionRunsMillis" value="60000" />

 <property name="validationQuery" value="SELECT 'x'" />

 <property name="testWhileIdle" value="true" />

转载于:https://my.oschina.net/zhuguowei/blog/408267

你可能感兴趣的文章
Unable to determine local host from URL REPOSITORY_URL=http://
查看>>
java基础(1)
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
Workstation服务无法启动导致无法访问文件服务器
查看>>
.Net组件程序设计之远程调用(二)
查看>>
ant中文教程
查看>>
Linux常用命令(一)
查看>>
WSUS数据库远端存储条件下切换域及数据库迁移
查看>>
【VMCloud云平台】SCAP(四)租户(一)
查看>>
linux释放内存的方法
查看>>
基于 Android NDK 的学习之旅----- C调用Java
查看>>
我的友情链接
查看>>
Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
查看>>
Windows 10 技术预览
查看>>
Tomcat http跳转https
查看>>
一个自动布署.net网站的bat批处理实例
查看>>
tomcat 安装
查看>>
AIX:物理卷及有关概念
查看>>
我的友情链接
查看>>
Centos6.6安装选包及基础场景说明
查看>>