我很少使用firebird作为dbms的桌面Java和delphi应用程序。 Java应用程序使用jpa / hibernate和c3p0。有时,Java应用程序无法创建新池,而只是在休眠初始化时挂起。我以为这可能是一个池问题,但是我总是在使用后关闭资源。如果我使用纯jdbc连接或delphi连接,即使在休眠应用程序挂起后,firebird服务器重启也可以正常工作。
我不知道那会是什么。即使在应用关闭后,C3p0仍控制着池?我认为不是。
P.S:最近,Java应用程序以前不使用c3p0。但这已经不存在了。
这是我的c3p0配置
<properties>
<property name="hibernate.c3p0.min_size" value="1"/>
<property name="hibernate.c3p0.max_size" value="5"/>
<property name="hibernate.c3p0.acquire_increment" value="1"/>
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
<property name="hibernate.c3p0.checkoutTimeout" value="15000"/>
<property name="hibernate.dialect"
value="org.hibernate.dialect.FirebirdDialect"/>
<property name="hibernate.c3p0.timeout" value="180"/>
<property name="hibernate.c3p0.maxIdleTime" value="120"/>
<property name="hibernate.jdbc.batch_size" value="20"/>
<property name="hibernate.order_updates" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="false"/>
<property name="hibernate.cache.use_query_cache" value="false"/>
</properties>
您知道它可能是什么吗?