从数据库查询结果时出现异常?

时间:2013-01-28 14:52:51

标签: java oracle spring hibernate

我正在使用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>

谢谢!

1 个答案:

答案 0 :(得分:0)

有些查询需要花费太多时间才能返回响应。异常跟踪似乎是异常响应的最后一叠。

如果捕获异常响应的“causedBy”跟踪,您将能够确定准确的代码逻辑,这会占用大量的执行时间。

希望这有帮助!