【发布时间】:2018-11-05 23:37:14
【问题描述】:
我有一个使用 MySql 保存到表中的应用程序(该表有 2 个 JSON 字段,其中一个可以接收大输入)。在生产中时不时地出现以下错误:
SqlExceptionHelper - 从服务器成功接收的最后一个数据包是 71,290,382 毫秒前。
最后一个成功发送到服务器的数据包是在 71,290,384 毫秒前。比服务器长 'wait_timeout' 的配置值。您应该考虑过期和/或测试连接有效性 在您的应用程序中使用之前,增加客户端超时的服务器配置值,或使用连接器/J 连接属性 'autoReconnect=true' 来避免这个问题。
我不明白为什么会发生这种情况,因为在本地我从未遇到过这个问题。这是我目前的配置:
cfg.setProperty("hibernate.c3p0.min_size", "5")
.setProperty("hibernate.c3p0.max_size", "20")
.setProperty("hibernate.c3p0.timeout", "30000")
.setProperty("hibernate.c3p0.max_statements", "50")
.setProperty("hibernate.c3p0.idle_test_period", "3000")
.setProperty("hibernate.connection.autoReconnect", "true")
.setProperty("hibernate.connection.autoReconnectForPools", "true");
我错过了什么吗?
【问题讨论】: