成功发送到服务器的最后一个数据包大于70,400,003毫秒。 比配置的服务器长

我有以下例外

javax.persistence.PersistenceException:Exception [EclipseLink-4002](Eclipse Persistence Services – 2.5.2.v20140319-9ad6abd):org.eclipse.persistence.exceptions.DatabaseException内部exception:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功收到的最后一个数据包是70,400,002毫秒。 成功发送到服务器的最后一个数据包是70,400,003毫秒之前。 比服务器配置的’wait_timeout’值长。 您应该考虑在应用程序中使用之前到期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector / J连接属性“autoReconnect = true”来避免此问题。

我做了一些研究并将persistance.xml更改为此

最新

   org.hibernate.ejb.HibernatePersistence com.rh.xxx                

最新的代码看起来是否正确?

任何帮助,将不胜感激

首先,保持您的测试简单,只需使用

  

而不是空闲的连接检查。 请参阅连接测试的 c3p0文档

如果问题,嗯,持续存在,那么问题可能不是池所持有的连接,而是您的应用程序正在检查并保持无限期打开的一些连接或连接。 理想情况下,应该检查,使用Connections,然后立即检查(并且使用try-with-resources或仔细的finally块)。