连接已关闭.;嵌套异常为java.sql.SQLException:连接已关闭



Tomcat 8

<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">      
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />        
<property name="initialSize" value="10" />
<property name="maxActive" value="200" />
<property name="minIdle" value="10" />
<property name="maxIdle" value="50" />
<property name="maxWait" value="50000" />
<property name="fairQueue" value="true" />
<property name="logAbandoned" value="true" />
<property name="removeAbandoned" value="true" />    
<property name="testOnBorrow" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="validationQuery" value="${database.validationQuery}" />
</bean>

应用程序在tomcat 8上运行,15 20分钟后开始出现错误

SQL状态[null];错误代码[0];连接已关闭。;嵌套异常为java.sql.SQLException:连接已关闭。网址:org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1542(网址:org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667(网址:org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713(网址:org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:738(网址:org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:794(位于org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:209(位于org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForList(NamedParameterJdbcTemplate.java:303(位于org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.queryForList(NamedParameterJdbcTemplate.java:310(

增加tomcat-resources.xml中removeAdvancedTimeOut的值,以便将其设置为应用程序可能具有的运行时间最长的查询。

在更改应用程序正常后删除此<property name="removeAbandoned" value="true" />

最新更新