碰到一个奇怪的问题,不知道怎么处理,求指教。。
一个小的javaWeb项目放在阿里云的linux服务器上,数据库用的是mysql,web采用的是springmvc+mybatis,dbcp连接池。现在问题是一段时间不访问,再突然访问就会错误500,然后刷新一下页面就好了,也不会报错误信息。怀疑是不是连接休眠啥的。
这是关于连接池的配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="0"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="20"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="1"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000"></property>
</bean>
看到错误日志了:
the fallback translator
2016-09-22 21:11:44,498 [http-bio-80-exec-10] DEBUG [org.mybatis.spring.SqlSessionUtils] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@b370e4f]
2016-09-22 21:11:44,498 [http-bio-80-exec-10] DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Returning JDBC Connection to DataSource
2016-09-22 21:11:44,499 [http-bio-80-exec-10] DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] - Could not close JDBC Connection
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:114)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:191)
at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:341)
at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:328)
at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:294)
largeQ
智慧大石
慕虎7371278
相关分类