【发布时间】:2013-12-07 02:17:57
【问题描述】:
美好的一天! 我有一个 c3po 设置,可以在数据库断开时恢复与数据库 (Oracle 11g) 的连接 - 它可以工作
<properties>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.connection.autocommit" value="false"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
<!--property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/-->
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider"/>
<property name="hibernate.connection.autoReconnect" value="true"/>
<!--максимальное количество соединений в пуле-->
<property name="hibernate.c3p0.max_size" value="10"/>
<!--минимальный размер пула-->
<property name="hibernate.c3p0.min_size" value="3"/>
<property name="hibernate.c3p0.acquire_increment" value="1"/>
<!--как долго ждать, чтобы подтвердить соединение, т.е. не закрывать его, а, например, сделать запрос "select 1"-->
<property name="hibernate.c3p0.idle_test_period" value="30"/>
<!-- In seconds -->
<property name="hibernate.c3p0.max_statements" value="50"/>
<!--таймаут для с3p0-->
<property name="hibernate.c3p0.timeout" value="0"/>
<property name="hibernate.cache.use_second_level_cache" value="false"/>
<property name="hibernate.jdbc.batch_size" value="50"/>
<!--limits how long a client will wait for a Connection default 0 Setting any positive value will cause the getConnection() call to time-out and break with an SQLException after the specified number of milliseconds -->
<property name="hibernate.c3p0.checkoutTimeout" value="0"/>
<property name="hibernate.c3p0.preferredTestQuery" value="select 1 from dual"/>
<property name="hibernate.c3p0.testConnectionOnCheckout" value="true"/>
<property name="hibernate.c3p0.testConnectionOnCheckIn" value="true"/>
<property name="hibernate.c3p0.acquireRetryAttempts" value="0"/>
<property name="hibernate.c3p0.acquireRetryDelay" value="5000"/>
<property name="hibernate.c3p0.breakAfterAcquireFailure" value="false"/>
</properties>
但现在我发现了一个错误。如果您确实设置了不正确的 ip 数据库,应用程序就会进入等待状态。我们想给出一个合理的答案。请帮忙。
【问题讨论】: