今天写项目报错:
java.lang.Exception: DEBUG STACK TRACE for PoolBackedDataSource.close() 异常
原因:
配置数据源时加了destory-method="close"
源代码:
<!--2 配置C3P0数据源 -->
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!--驱动类名 -->
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<!-- url -->
<property name="jdbcUrl" value="${mysql.url}" />
<!-- 用户名 -->
<property name="user" value="root" />
<!-- 密码 -->
<property name="password" value="root" />
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 -->
<property name="acquireIncrement" value="5"></property>
<!-- 初始连接池大小 -->
<property name="initialPoolSize" value="10"></property>
<!-- 连接池中连接最小个数 -->
<property name="minPoolSize" value="5"></property>
<!-- 连接池中连接最大个数 -->
<property name="maxPoolSize" value="20"></property>
</bean>
<!--3 会话工厂bean sqlSessionFactoryBean -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 数据源 -->
<property name="dataSource" ref="datasource"></property>
<!-- 别名 -->
<property name="typeAliasesPackage" value="com.zhangguo.ssm01.entity"></property>
<!-- sql映射文件路径 -->
<property name="mapperLocations" value="classpath*:mappers/*Mapper.xml"></property>
<!--mybatis配置文件位置-->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
解决办法:
把destory-method="close"删除
因为不知道
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy- method="close" >
里边的这个ComboPooledDataSource数据源一定是可用的,就会报这个异常,