我有一个很好的小Spring Boot JPA Web应用程序.它部署在Amazon Beanstalk上,并使用Amazon RDS来保存数据.然而,经常使用它并因此在一段时间后因此类异常而失败:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功收到的最后一个数据包是79,870,633毫秒.
成功发送到服务器的最后一个数据包是79,870,634毫秒.比服务器配置的'wait_timeout'值长.您应该考虑在应用程序中使用之前过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector/J连接属性"autoReconnect = true"来避免此问题.
我不知道如何配置此设置,但无法在http://spring.io上找到相关信息(虽然这是一个非常好的网站).有哪些想法或信息指针?
我使用DBCP池,我想使用testOnBorrow和testOnReturn来测试连接是否仍然有效.
不幸的是,我必须设置属性validationQuery以使其工作.
问题:validationQuery应该有什么价值?
我知道,那个:validationQuery必须是一个SQL SELECT语句,至少返回一行.
问题是我们使用各种数据库(DB2,Oracle,hsqldb).