A ResourcePool could not acquire a resource from its primary factory or source

    今天配置spring配置c3p0 datasource时老报错(如题),经多次测试发现原因

   

    原配置:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<!-- 指定连接数据库的JDBC驱动 -->
		<property name="driverClass">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<!-- 连接数据库所用的URL -->
		<property name="jdbcUrl">
			<value>jdbc:mysql://localhost:3306/activiti?autoReconnect=true
			</value>
		</property>
		<!-- 连接数据库的用户名 -->
		<property name="user">
			<value>sa </value>
		</property>
		<!-- 连接数据库的密码 -->
		<property name="password">
			<value></value>
		</property>
		<!-- 设置数据库连接池的最大连接数 -->
		<property name="maxPoolSize">
			<value>20</value>
		</property>
		<!-- 设置数据库连接池的最小连接数 -->
		<property name="minPoolSize">
			<value>2</value>
		</property>
		<!-- 设置数据库连接池的初始化连接数 -->
		<property name="initialPoolSize">
			<value>2</value>
		</property>
		<!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->
		<property name="maxIdleTime">
			<value>20</value>
		</property>
	</bean>

  

    配置数据都无问题的情况下,发现以下情况会产生错误:

 

    情况1:value元素值之间出现空格(人为添加)

   

<property name="driverClass">
      <value>com.mysql.jdbc.Driver </value>
</property>

 

    情况2:value结束标签换行(当value值比较长时,Ctrl+Shift+F的时就会换行)

   

<property name="driverClass">
       <value>com.mysql.jdbc.Driver
       </value>
</property>

  

   今天产生错误属于情况2,因此建议配置datasource使用下面格式配置:

  

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<!-- 指定连接数据库的JDBC驱动 -->
		<property name="driverClass" value="com.mysql.jdbc.Driver">
		</property>
		<!-- 连接数据库所用的URL -->
		<property name="jdbcUrl"
			value="jdbc:mysql://localhost:3306/activiti?autoReconnect=true">
		</property>
		<!-- 连接数据库的用户名 -->
		<property name="user" value="sa">
		</property>
		<!-- 连接数据库的密码 -->
		<property name="password" value="">
		</property>
		<!-- 设置数据库连接池的最大连接数 -->
		<property name="maxPoolSize" value="20">
		</property>
		<!-- 设置数据库连接池的最小连接数 -->
		<property name="minPoolSize" value="2">
		</property>
		<!-- 设置数据库连接池的初始化连接数 -->
		<property name="initialPoolSize" value="2">
		</property>
		<!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->
		<property name="maxIdleTime" value="20">
		</property>
	</bean>

 

  

  

 

你可能感兴趣的:(spring,mysql,c3p0,mchange)