java中c3p0数据库重启后自动重连配置
一、几个参数详解
(1)breakAfterAcquireFailure
如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。
如果设为false,获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调用getConnection()的时候继续尝试获取连接。
?
(2)testConnectionOnCheckin
如果设为true,那么在取得连接的同时将校验连接的有效性。性能消耗大。
?
(3)idleConnectionTestPeriod
每X秒检查所有连接池中的空闲连接。
?
二、application.xml文件中的c3p0配置
?
<bean id="dataSource"value="CONNECTION_TEST" /><property name="testConnectionOnCheckout" value="true" /><property name="acquireRetryAttempts" value="5" /><property name="driverClass"><value>${CHECK_ST_ORL_driverClassName}</value></property><property name="jdbcUrl"><value>${CHECK_ST_ORL_URL}</value></property><property name="user"><value>${CHECK_ST_ORL_USER}</value></property><property name="password"><value>${CHECK_ST_ORL_PASSWD}</value></property><property name="minPoolSize"><value>30</value></property><property name="maxPoolSize"><value>100</value></property><property name="initialPoolSize"><value>30</value></property><property name="maxConnectionAge"><value>1800</value></property><property name="maxIdleTime"><value>1800</value></property><property name="maxIdleTimeExcessConnections"><value>300</value></property><property name="maxStatements"><value>0</value></property><property name="testConnectionOnCheckin"><value>false</value></property><property name="idleConnectionTestPeriod"><value>60</value></property><property name="checkoutTimeout"><value>1000</value></property><property name="breakAfterAcquireFailure"> <value>false</value> </property> </bean>?
?
三、测试详情
?
?
?