在我的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