今天配置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>