在我的Java Hibernate應用程序我收到以下錯誤消息,但應用程序將繼續顯示該消息後運行:如何拋出一個錯誤是oracle關閉連接?
o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 17008, SQLState: 99999
o.h.e.jdbc.spi.SqlExceptionHelper - Closed Connection
如果發生這種情況我想應用程序停止。
我已實行以下,但如果這種 「封閉連接」 時它不停止應用程序:
目前代碼:
try {
personName = findPersonNameById(id); //hibernate query method
} catch (Exception e) {
throw new ClosedConnectionException("Closed connection error");
}
自定義異常類:
public class ClosedConnectionException extends RuntimeException {
public ClosedConnectionException(String message) {
super(message);
}
}
僅供參考,這裏是我的p ersistence.xml C3PO值,可能在這裏導致連接關閉? :
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.ejb.naming_strategy" value="org.hibernate.cfg.ImprovedNamingStrategy"/>
<property name="hibernate.connection.provider_class" value="org.hibernate.c3p0.internal.C3P0ConnectionProvider"/>
<property name="hibernate.c3p0.max_size" value="1"/>
<property name="hibernate.c3p0.min_size" value="1"/>
<property name="hibernate.c3p0.acquire_increment" value="2"/>
<property name="hibernate.c3p0.idle_test_period" value="300"/>
<property name="hibernate.c3p0.max_statements" value="15"/>
<property name="hibernate.c3p0.timeout" value="0"/>
<property name="hibernate.c3p0.unreturnedConnectionTimeout" value="30000"/>
<property name="hibernate.c3p0.dataSourceName" value="My connection"/>
<property name="hibernate.jdbc.fetch_size" value="50"/>
<property name="hibernate.default_batch_fetch_size" value="10"/>
</properties>
請給這個代碼示例?謝謝 – java123999
@ java123999,請參閱編輯答案,如果有幫助。 – Rahul
謝謝,有沒有一種方法可以從JPAPersistenceManager中獲取這個連接對象?我所顯示的代碼位於服務層,我無法查看連接以檢查它? – java123999