Spring Boot和MySQL的连接已经关闭

时间:2017-06-02 13:24:25

标签: java mysql spring jdbc spring-boot

我们正在将我们的系统从MS SQL Server迁移到MySQL,我们正在为我们的应用程序使用spring boot。我们的应用程序面临“连接已经关闭” SQLException已经有几天了,我们用来重启我们的应用程序并且它开始工作正常但是在几个小时后开始给出相同的连接关闭SQLException。 / p>

这是配置属性xfor connection:

database.jndiName=jdbc/SmartData
database.driverClassName=com.mysql.jdbc.Driver
database.url=XXXXXX
database.username=XXXXXXXXXXX
database.password=XXXXXX
database.factory=org.apache.tomcat.jdbc.pool.DataSourceFactory
database.initialSize=2
database.logAbandoned=false
database.maxIdle=4
database.maxWaitMillis=29998
database.minEvictableIdleTimeMillis=3000
database.minIdle=2
database.removeAbandonedTimeout=6
database.removeAbandoned=true
database.testOnBorrow=true
database.testOnReturn=false
database.testWhileIdle=false
database.timeBetweenEvictionRunsMillis=3000
database.validationQuery=SELECT 2+2
database.maxActive=10
database.validationInterval=3000

2 个答案:

答案 0 :(得分:0)

很少有建议可以通过SO上的类似帖子进行操作,例如经过验证的验证查询似乎是SELECT 1,但在您的情况下并未使用。

请参阅SO上的this问题,其中说明了针对不同数据库的验证查询的使用情况。

database.validationQuery=SELECT 1

另一个适用于您的建议是connectionTimeut参数可以设置为更高的值,否则较小的值会强制会话关闭。

connectionTimeout="300000"

希望这些建议有所帮助!

答案 1 :(得分:0)

尝试在application.properties或配置文件中添加以下属性,以防外部配置。
database.test上借入=真
database.validation-query = SELECT 1