经常报错:Communications link failure The last packet successfully received from the server was 0 milliseconds ago

发布于 2021-12-31 22:55:20 字数 2389 浏览 488 评论 13

@wenshao 你好,想跟你请教个问题:我正在使用druid-1.0.11.jar。经常报错:Communications link failure The last packet successfully received from the server was 0 milliseconds ago

请问我该如何配置,目前我的配置如下:

<!-- 数据源配置, 使用 Druid 数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 
   <!-- 数据源驱动类可不写,Druid默认会自动根据URL识别DriverClass -->
   <property name="driverClassName" value="com.mysql.jdbc.Driver" />
   
<!-- 基本属性 url、user、password -->
<property name="url" value="jdbc:mysql://localhost:3306/hs3?createDatabaseIfNotExist=true&amp;autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="root" />

<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="100" />
<property name="minIdle" value="100" /> 
<property name="maxActive" value="2000" />

<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置maxWait后 会使用公平锁,并发性能降下,可配置useUnfairLock=true,是否非公平锁 -->
<!-- <property name="useUnfairLock" value="true"/> -->

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

<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />

<property name="validationQuery" value="SELECT 1 FROM DUAL" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />

<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用)
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> -->

<!-- 配置监控统计拦截的filters -->
   <property name="filters" value="stat" />
</bean>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

如此安好 2022-01-07 21:23:40

解决了吗?碰到同样的问题

孤檠 2022-01-07 21:23:32

回复
这个问题最后不了了之

傾城如夢未必闌珊 2022-01-07 21:23:15

谢谢,你的回答

浅沫记忆 2022-01-07 21:22:21

时间没有超时啊,断开很奇怪

回忆凄美了谁 2022-01-07 21:19:25

com.alibaba.druid.pool.DruidDataSourcehandleConnectionExceptiondiscard connection
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

@wenshao   同求问题解决方案

醉酒的小男人 2022-01-07 21:16:49

在数据源端url配置这个:jdbc:mysql://loca host:3306/test?autoReconnect=true

然后在数据源属性里面:<property name="testOnBorrow" value="true" />  

温柔少女心 2022-01-07 21:16:26

<property name="validationQuery" value="SELECT 1 FROM DUAL" /> 这个配置独对。另外缺省mysql连接会最大存活7个小时,你在服务端做了什么额外操作么?

清晨说ぺ晚安 2022-01-07 21:02:41

@wenshao 问题解决了吗,1.0.29也会出这个问题。

夜无邪 2022-01-07 20:16:56

问题解决了吗?我也遇到 求解决

后知后觉 2022-01-07 19:20:12

按照你说的做了,还是不可以,已经升级到1.0.25版本了,也已经配置配置testWhileIdle=true,数据库wait_timeout=100

无人问我粥可暖 2022-01-07 18:26:47

我也更新了,也不行

泛泛之交 2022-01-07 16:58:49

配置testWhileIdle=true,并且升级到最新版本就好了

https://github.com/alibaba/druid/releases/tag/1.0.25

旧城烟雨 2022-01-04 16:01:30

mysql 服务器配置wait_timeout=28800

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文