我正在使用spring和hibernate应用程序。我正在使用C3P0连接池连接到oracle数据库。但我常常低于例外。
Database failure Exception
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:746)
at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:776)
是否与C3P0配置有关?下面是c3p0配置:
<bean id="someDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driverClassName}" />
<property name="jdbcUrl" value="${url}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" />
<!-- pool sizing -->
<property name="initialPoolSize" value="3" />
<property name="minPoolSize" value="6" />
<property name="maxPoolSize" value="25" />
<property name="acquireIncrement" value="3" />
<property name="maxStatements" value="${common.db.max.statements}" />
<!-- retries -->
<property name="acquireRetryAttempts" value="1" />
<property name="acquireRetryDelay" value="1000" /> <!-- 1s -->
<property name="preferredTestQuery" value="select sysdate from dual" />
</bean>
谢谢!
答案 0 :(得分:0)
有些查询需要花费太多时间才能返回响应。异常跟踪似乎是异常响应的最后一叠。
如果捕获异常响应的“causedBy”跟踪,您将能够确定准确的代码逻辑,这会占用大量的执行时间。
希望这有帮助!